如果名为“MYPROJECT_PRODUCTION”的环境变量设置为 True,我需要为变量分配不同的值。因此,我创建了以下代码,其中创建了一个 module1 文件来存储生产值
主要代码位于mycode.py中。这里是目录结构
mypythondir/
mycode.py
module1.py
我的代码.py
import os
if __name__=='__main__':
MYNAME='denny'
if os.environ.get('MYPROJECT_PRODUCTION',True):
from module1 import *
print 'myname=',MYNAME
模块1.py
MYNAME='damon'
我打开了一个终端(在 ubuntu 中)只是为了检查我跑了
mypythondir$echo $MYPROJECT_PRODUCTION
空输出..所以,还没有设置变量。在不设置环境变量的情况下,从 mypythondir 运行 mycode.py
mypythondir$python mycode.py
mypythondir$myname= damon
我很困惑,为什么值'damon'。它应该是'denny',因为没有设置MYPROJECT_PRODUCTION,并且os.environ中没有键'MYPROJECT_PRODUCTION'。
然后我设置
mypythondir$export MYPROJECT_PRODUCTION=False
我再次运行代码,即使现在结果是一样的..但这次关键MYPROJECT_PRODUCTION
在os.environ
这里发生了什么?有人可以帮我解决这个问题吗?