python - 用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卻得不到這是為什么?怎么辦?
問題解答
回答1:看你貼的代碼里面:[’FLASK_CONFIG ’, ’ production’],引號內似乎多了空格?然后取值時:print os.getenv(’FLASK_CONFIG’)沒有空格。
回答2:少了個空格啊0.0
