我想在我的服务器上添加一个环境变量,它需要是一个布尔值。我已添加到/etc/environment
:
PROD=True
我已将用户登录进出,现在我正在运行这个简单的脚本来检查它是否有效:
import os
if os.environ['PROD'] == True:
print "prod"
然而,我没有打印出来,我在这里做错了什么?我是不是错误地代表了布尔?
答案 0 :(得分:4)
环境变量是str
类型。
支持Python 2.x和3.x版本:
import os
if os.getenv('PROD') == 'True':
print("prod")
保护您免受KeyError
。
在文档(doc)中:
表示字符串环境的映射对象。
答案 1 :(得分:0)
你需要检查os.environ中是否存在PROD环境变量(这是一个dict inturn)
>>> if 'PROD' in os.environ:
... print 'prod'
...
prod
答案 2 :(得分:-1)
所有环境变量本质上都是字符串。尝试
import os
if os.environ['PROD'] == 'True':
print "prod"
如果你真的需要“类型化的环境变量”并且不怕在可能的任意字符串上使用eval
,你可能会做类似的事情
import os
PROD = eval(os.environ['PROD'])
if PROD == True: # Or just "if PROD:"
print "prod"