[英]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.