got AttributeError:从另一个文件导入全局变量时,'module'对象没有属性

时间:2016-04-17 08:40:05

标签: python import global-variables attributeerror

我有两个这样的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'

知道出了什么问题吗?

1 个答案:

答案 0 :(得分:1)

first.py中的代码永远不会运行,因为它不是您的入口点而且代码不是直接调用的,这意味着x永远不会被定义。使用first.py作为入口点,或者将x的声明放入您在尝试访问它之前调用的方法中。