Python和env变量不工作
我想向我的服务器添加一个环境变量,它需要是一个布尔值。我已添加到Python和env变量不工作,python,Python,我想向我的服务器添加一个环境变量,它需要是一个布尔值。我已添加到/etc/environment: PROD=True 我已经让用户登录和注销,现在我运行这个简单的脚本来检查它是否有效: import os if os.environ['PROD'] == True: print "prod" 但是我没有打印出来,我做错了什么?我是否表示布尔值不正确?所有环境变量本质上都是字符串。试一试 import os if os.environ['PROD'] == 'True':
/etc/environment
:
PROD=True
我已经让用户登录和注销,现在我运行这个简单的脚本来检查它是否有效:
import os
if os.environ['PROD'] == True:
print "prod"
但是我没有打印出来,我做错了什么?我是否表示布尔值不正确?所有环境变量本质上都是字符串。试一试
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"
环境变量是
str
类型
支持Python 2.x和3.x版本:
import os
if os.getenv('PROD') == 'True':
print("prod")
保护您免受keyrerror
在文档()中:
表示字符串环境的映射对象
您需要检查PROD环境变量是否存在于os.environ(这是一个dict inturn)中
尝试
如果os.environ['PROD']=“True”
您的环境可能没有bool的概念,它将True存储为字符串。您可以随时将类型
打印给阅读此内容的任何人:不要对环境变量使用eval()
,永远不要(当然,除非您真的想让任何人破坏您的系统)。
>>> if 'PROD' in os.environ:
... print 'prod'
...
prod