gpt4 book ai didi

python - 如何从操作系统环境变量创建字典?

转载 作者:行者123 更新时间:2023-12-05 00:10:05 25 4
gpt4 key购买 nike

操作系统(macos)中设置了环境变量:

MYSQL_HOST="127.0.0.1"
MYSQL_DATABASE="invoice"
MYSQL_UID="dude"
MYSQL_PWD="pass1234"

我想建立一个名为 db_config 的列表这样最终结果将如下所示:
db_config = {'host':"127.0.0.1", 'database':"invoice", 'user':"dude",
'password':"pass1234"}

(请注意,环境变量名称与 db_config 中的键不同。 db_config 将用于传递数据库连接凭据,而键 必须 是上面列出的那些 db_config 。)

我可以“手动”设置 db_config使用:
db_config={'host':os.environ['MYSQL_HOST'], 'database':os.environ['MYSQL_DATABASE'],
'user':os.environ['MYSQL_UID'], 'password':os.environ['MYSQL_PWD']}

...但似乎应该有一种更干净、更pythonic的方式来做这件事,但我想不通。

最佳答案

config = {
'host': 'MYSQL_HOST',
'database': 'MYSQL_DATABASE',
'user': 'MYSQL_UID',
'password': 'MYSQL_PWD'
}
db_config = {k: os.environ.get(v) for k, v in config.items()}

取决于您想如何处理不在 os.environ 中的项目,您可以使用条件字典理解来忽略它们。
db_config = {k: os.environ.get(v) for k, v in config.items()
if v in os.environ}

关于python - 如何从操作系统环境变量创建字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58633300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com