用os.environ能获取到的环境变量,在os.environ.getenv却得不到,这是为什么?

>>> import os
>>> os.path.exists('.env')
True
>>> for line in open('.env'):
...     var = line.strip().split('=')
...     print var
...
['FLASK_CONFIG ', ' production']
>>> if len(var) ==2:
...     os.environ[var[0]] = var[1]
...
>>> print var
['FLASK_CONFIG ', ' production']
>>> print os.environ
{'TERM': 'xterm', 'SHELL': '/bin/bash', 
'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'SHLVL': '1', 'SSH_TTY': '/dev/pts/0', 'OLDPWD': '/root', 
'FLASK_CONFIG ': ' production', # 在这里
'PWD': '/home/Xu',  '/usr/bin/python', 
}
>>> print os.getenv('FLASK_CONFIG')
None
>>> os.environ.get('FLASK_CONFIG')
>>> print os.environ.get('FLASK_CONFIG')
None

用os.environ能获取到的FLASK_CONFIG,在os.environ.getenv却得不到这是为什么?怎么办?

阅读 12.1k
2 个回答

看你贴的代码里面:['FLASK_CONFIG ', ' production'],引号内似乎多了空格?然后取值时:print os.getenv('FLASK_CONFIG')没有空格。

少了个空格啊0.0

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题