使用 Python 和 dotenv 更改保存在 .env 文件中的环境变量
Posted
技术标签:
【中文标题】使用 Python 和 dotenv 更改保存在 .env 文件中的环境变量【英文标题】:Change Environment Variables Saved In .env File With Python and dotenv 【发布时间】:2020-12-29 09:38:34 【问题描述】:我正在尝试使用 python 更新 .env 环境变量。使用os.environ
我可以查看和更改本地环境变量,但我想更改 .env 文件。使用 python-dotenv
我可以将 .env 条目加载到本地环境变量中
.env 文件
key=value
test.py
from dotenv import load_dotenv, find_dotenv
load_dotenv(find_dotenv())
print(os.environ['key']) # outputs 'value'
os.environ['key'] = "newvalue"
print(os.environ['key']) # outputs 'newvalue'
.env 文件
key=value
.env 文件没有改变!仅更改了本地环境变量。我找不到任何有关如何更新 .env 文件的文档。有谁知道解决办法吗?
【问题讨论】:
您需要写信给.env
。您的代码没有这样做。
@jakub 你是什么意思?
见dotenv.set_key
方法saurabh-kumar.com/python-dotenv/reference/dotenv/#set_key
【参考方案1】:
使用dotenv.set_key
。
import dotenv
dotenv_file = dotenv.find_dotenv()
dotenv.load_dotenv(dotenv_file)
print(os.environ["key"]) # outputs "value"
os.environ["key"] = "newvalue"
print(os.environ['key']) # outputs 'newvalue'
# Write changes to .env file.
dotenv.set_key(dotenv_file, "key", os.environ["key"])
【讨论】:
以上是关于使用 Python 和 dotenv 更改保存在 .env 文件中的环境变量的主要内容,如果未能解决你的问题,请参考以下文章