目前我做这样的事情:
pyfd = open("some_python_script.py", "r")
src = pyfd.read()
pyfd.close()
exec(src) #Note, also tried eval and execfile, I use read as I do something with it.
locals()["some_function"]("foo", "bar")
它工作得很好,但是当我离开这个函数时,我注意到 Globals 和 Locals 都没有“some_function”函数了。(我希望它是垃圾收集器)
我的问题是,如何将我从某个 python 文件中读取的代码附加到我的其他代码中?
我知道这是不好的做法和不安全等。但我想以一种我“py2exe”我的主要部分并且我的用户可以附加 Python 代码的方式来实现它。他可以通过覆盖函数来破坏整个应用程序,但我可以 100% 信任用户。
谢谢,斯托拉斯