在lua中有一个名为loadfile
的函数,该函数允许程序将.lua文件解析为当前项目。所有函数和变量都像在同一个文件中一样工作。
这对加载插件很有用。我试图将电报机器人移植到python但是找不到允许我加载.py文件并让函数在文件上下文中的函数。
我尝试过python的execfile
并导入文件,但是不允许加载文件的功能在初始文件的范围内。
(即fileA.py加载fileB.py.file文件有“doThis”函数.fileB无法使用execfile访问“doThis”)
如何在python中实现与lua的loadfile相同的功能?
我正在使用python 2
答案 0 :(得分:0)
您通常不应该这样做,因为通配符导入会使代码更难调试,但是:
from other_module import *
将other_module
中定义的所有内容导入当前模块的全局命名空间。它不完全一样,但它和你一样接近。
execfile("other_module.py", globals())
非常相似,只是它不会在sys.modules
中缓存模块。