本来想用一个配置文件config.py作为全局文件,以方便不同文件共享这里面设置的变量,同时也可以在不同的module中设置这个文件的变量的。
后来发现不行,它并非每次都重新导入的。
有个办法是这样的,就是每个module都设定一个命名空间。在这个命名空间中的变量变化,会实时的到体现。
1. Import配置文件时,不要from xxx import *, 而要import config.py
2. 在config.py文件中,用set_xxxValue()和get_xxxValue来提供外部访问接口,这个好处是,可以让全局变量在每次调用的时候都能得到刷新
3. 其他文件使用get_xxxValue()获取到全局变量的最新值。
另外,对于global这个声明,只是在同一个文件中有效,并不能跨文件,就是跨module。
因此,不要妄想通过global来控制不同文件间的共享变量。
您可能感兴趣的文章:
python变量小结
Python的变量类型及命名规则
Python类变量、实例变量