如何在 Python 中访问环境变量?

问:

如何在 Python 中获取环境变量的值?

答1:

huntsbot.com全球7大洲远程工作机会,探索不一样的工作方式

通过 os.environ 访问环境变量:

import os
print(os.environ['HOME'])

要查看所有环境变量的列表:

print(os.environ)

如果密钥不存在,则尝试访问它会引发 KeyError。为了避免这种情况:

# Returns `None` if key doesn't exist
print(os.environ.get('KEY_THAT_MIGHT_EXIST'))

# Returns `default_value` if key doesn't exist
print(os.environ.get('KEY_THAT_MIGHT_EXIST', default_value))

# Returns `default_value` if key doesn't exist
print(os.getenv('KEY_THAT_MIGHT_EXIST', default_value))

您好棒,感谢您对“默认安装”的有效回复;从有效的角度快速理解它而不是通过链接。我真的很感激 :) 但是关于我的 (1) 问题,请查看下面的命令和输出片段: >>> import os >>> print os.environ['PYTHONPATH'] Traceback (last recent call last): File " ”,第 1 行,在 文件“C:\Python25\lib\os.py”中,第 435 行,在 getitem return self.data[key.upper()] KeyError: 'PYTHONPATH' >>> print os.environ.get('PYTHONPATH') 无 >>> // PLZ 继续...//

第一种方式脚本抛出异常,而第二种方式给出无。那么,有没有办法让它有意义的价值,还是我做错了???阿米特。

os.environ 是一本字典。尝试访问字典中不存在的键将引发 KeyError。当键不存在时,get 方法简单地返回 None。你有 PYTHONPATH 设置吗?您可以尝试使用保证存在的变量(例如 PATH)吗?它是否返回有意义的值?

PYTHONPATH 用于从 Python 外部向 Python (sys.path) 添加新的搜索路径。看看docs.python.org/using/cmdline.html#environment-variables

.get() 也可以被赋予默认值。

答2:

huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感

检查密钥是否存在(返回 True 或 False)

'HOME' in os.environ

打印密钥时也可以使用get();如果您想使用默认值,这很有用。

print(os.environ.get('HOME', '/home/username/'))

其中 /home/username/ 是默认值

"HOME" in os.environ 或 os.environ.get('HOME') 哪个更好?

@endolith 他们做不同的事情。第一个返回 True 或 False,而第二个返回一个值,可能是 None。

@endolith,正确的问题是 "HOME" in os.environ vs os.environ.get('HOME') is None。正如您首先看到的那样更具可读性和舒适的工作。

答3:

HuntsBot周刊–不定时分享成功产品案例,学习他们如何成功建立自己的副业–huntsbot.com

以下是检查是否设置了 $FOO 的方法:

try:  
   os.environ["FOO"]
except KeyError: 
   print "Please set the environment variable FOO"
   sys.exit(1)

尝试可以更快。环境变量的情况可能最适合“尝试”:stackoverflow.com/a/1835844/187769

@RandomInsano 更快 =/= 更好。此代码看起来不如 "if 'FOO' not in os.environ: ..." 块可读

如果您只是设置变量,则需要先关闭终端,然后才能对其进行测试。

答4:

保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com

其实可以这样实现:

import os

for item, value in os.environ.items():
    print('{}: {}'.format(item, value))

或者简单地说:

for i, j in os.environ.items():
    print(i, j)

查看参数中的值:

print(os.environ['HOME'])

或者:

print(os.environ.get('HOME'))

要设置值:

os.environ['HOME'] = '/new/value'

不,这个答案确实没有在现有答案之上添加任何内容

这应该被删除,它是其他答案的重复。 str.format 只是一个花哨的补充。

>>> import os, pprint; pprint.pprint(list(os.environ.items()))

第一个答案是整个环境的可读输出,谢谢。为了在 PyCharm 调试器中查看环境,我评估 {k: v for k,v in sorted(os.environ.items())}

它添加了如何设置值

答5:

huntsbot.com – 程序员副业首选,一站式外包任务、远程工作、创意产品分享订阅平台。

您可以使用访问环境变量

import os
print os.environ

尝试查看 PYTHONPATH 或 PYTHONHOME 环境变量的内容。也许这对您的第二个问题有帮助。

答6:

一个优秀的自由职业者,应该有对需求敏感和精准需求捕获的能力,而huntsbot.com提供了这个机会

至于环境变量:

import os
print os.environ["HOME"]

答7:

一个优秀的自由职业者,应该有对需求敏感和精准需求捕获的能力,而huntsbot.com提供了这个机会

import os
for a in os.environ:
    print('Var: ', a, 'Value: ', os.getenv(a))
print("all done")

这将打印所有环境变量及其值。

答8:

保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com

导入 os 模块:

import os

获取环境变量:

os.environ.get('Env_var')

设置环境变量:

# Set environment variables
os.environ['Env_var'] = 'Some Value'

答9:

huntsbot.com全球7大洲远程工作机会,探索不一样的工作方式

如果您计划在生产网络应用程序代码中使用代码,使用任何网络框架(如 Django 和 Flask),请使用项目(如 envparse)。使用它,您可以将值读取为您定义的类型。

from envparse import env
# will read WHITE_LIST=hello,world,hi to white_list = ["hello", "world", "hi"]
white_list = env.list("WHITE_LIST", default=[])
# Perfect for reading boolean
DEBUG = env.bool("DEBUG", default=False)

注意:kennethreitz 的 autoenv 是用于制作项目特定环境变量的推荐工具。对于使用 autoenv 的用户,请注意将 .env 文件保密(公众无法访问)。

envparse 被大约 4,000 人使用,自 2015 年以来一直没有维护,而 dotenv 被 240,000 人使用。人家说了算。

答10:

打造属于自己的副业,开启自由职业之旅,从huntsbot.com开始!

还有很多很棒的图书馆。例如,Envs 将允许您从 rad 环境变量中解析对象。例如:

from envs import env
env('SECRET_KEY') # 'your_secret_key_here'
env('SERVER_NAMES',var_type='list') #['your', 'list', 'here']

“这是rad”中的“rad”是什么意思? rad - “1.(俚语)部首剪裁;优秀”

答11:

一个优秀的自由职业者,应该有对需求敏感和精准需求捕获的能力,而huntsbot.com提供了这个机会

你也可以试试这个:

首先,安装 python-decouple

pip install python-decouple

将其导入您的文件中

from decouple import config

然后获取环境变量

SECRET_KEY=config('SECRET_KEY')

详细了解 Python 库 here。

原文链接:https://www.huntsbot.com/qa/JAZJ/how-do-i-access-environment-variables-in-python?lang=zh_CN&from=csdn

huntsbot.com聚合了超过10+全球外包任务平台的外包需求,寻找外包任务与机会变的简单与高效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值