>>> 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却得不到这是为什么?怎么办?
看你贴的代码里面:['FLASK_CONFIG ', ' production'],引号内似乎多了空格?然后取值时:print os.getenv('FLASK_CONFIG')没有空格。