我有两个这样的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'
知道出了什么问题吗?
答案 0 :(得分:1)
first.py
中的代码永远不会运行,因为它不是您的入口点而且代码不是直接调用的,这意味着x永远不会被定义。使用first.py作为入口点,或者将x的声明放入您在尝试访问它之前调用的方法中。