繁体   English   中英

如何更改 __builtins__ 模块变量?

[英]How to change __builtins__ module variable?

如果您运行此代码:

src = "import os"
d = dict(__builtins__={})
exec src in d

Python 说:

ImportError: __import__ not found

这就是我喜欢做的,但是在创建(或加载)新模块时:

import imp
mod = imp.new_module("foo")
src = "import os"
exec src in mod.__dict__

正如你所看到的,它运行了,但我喜欢它不像上面的程序那样。 我喜欢禁用所有内置变量和函数。 有没有办法做到这一点?

如果你打印mod.__dict__ ,你可以看到它有__builtins__变量,比如任何 Python 模块。 我想我必须将其值更改为{} ,但我不知道如何。

我想我必须将其值更改为 {},但我不知道如何更改。

mod.__dict__["__builtins__"] = {}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM