我有一个名为My_Scripts.py
的文件正在运行,它会导入field.py
并尝试执行第globals.BitRate()
行。但是我收到了一个错误:
AttributeError: 'module' object has no attribute 'BitRate'
import __main__
在python中意味着什么? My_Scripts.py
没有def main()
。
field.py
:
import __main__ as globals
globals.BitRate(..)
print globals
来自print globals
的{{1}}打印:
field.py
答案 0 :(得分:2)
由于某些原因,您的field.py
要求主程序(在您的情况下为My_Scripts.py
)导出名为BitRate
的符号。尝试添加
def BitRate(*args, **kw):
pass
到My_Scripts.py
。
import __main__
导入主模块,即python命令行上指示的模块。当您运行python My_Scripts.py
时,My_Scripts.py
将成为主要模块。这与任何特定模块是否实现def main():...
无关。