首页 >社区问答列表 >用os.environ能获取到的环境变量,在os.environ.getenv却得不到,这是为什么?

用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却得不到这是为什么?怎么办?

  • 大家讲道理
  • 大家讲道理    2017-02-22 10:39:401楼

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

    +0添加回复

  • 回复