我有两个类似的python文件:
# first.py
global x
if __name__ == "__main__":
x = 'test_var'
和:
# second.py
import first
class XX(object):
@staticmethod
def print_x():
print first.x
我运行这个脚本:
import second
second.XX.print_x()
我得到了这个错误:
AttributeError: 'module' object has no attribute 'x'
知道出了什么问题吗?
first.py
中的代码从不运行,因为它不是您的入口点,并且代码没有被直接调用,这意味着从未定义x。使用first.py作为入口点,或者将x的声明放入您在尝试访问它之前调用的方法中。