簡體   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