繁体   English   中英

从模块访问全局变量

[英]Accessing a global variable from a module

我在模块中存储了一些代码,该代码需要从运行该文件的任何环境中访问全局变量。这似乎(甚至可能是!)有点不合逻辑的结构,但是始终在其中创建具有相同名称的全局变量我在使用此代码的任何情况。 不幸的是,我实际上无法使其工作。 如果我在同一文件中全部创建代码,那就没问题了:

DATE_TODAY = '2018-08-02'

class test_class:
    def __init__(self):
        print(DATE_TODAY)

t1 = test_class()

给我2018-08-02作为输出。 但是,如果我将test_class移至模块,然后将其导入:

import Modules.test_mod as mod

DATE_TODAY = '2018-08-02'

t1 = mod.test_class()

我得到这个:

NameError:名称“ DATE_TODAY”未定义

我试过使用global关键字来看看是否有帮助,但据我所知,它没有帮助。 有人可以提供任何建议吗?

你的例子对我来说很好。 但是,您可以在模块中定义DATE_TODAY,然后将其导入到另一个模块中,如下所示:

模块m1.py:

   import m2 as mod
    from m2 import DATE_TODAY

    t1 = mod.test_class()

模块m2.py:

DATE_TODAY = '2018-08-02'

class test_class:
    def __init__(self):
        print(DATE_TODAY)

    t1 = test_class()

输出:

2018-08-02
2018-08-02

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM