如何用Python代码写入.env文件?已尝试os.environ但无效
如何用Python写入.env文件
嘿,我注意到你尝试用os.environ来设置环境变量,但没法成功写入到.env文件里——这其实是个常见的误解,我来帮你理清楚:
为什么你的代码不生效?
os.environ['username'] = 'John'这类代码只会修改当前Python进程内存中的环境变量,并不会把这些值持久化到磁盘上的.env文件里。等Python进程结束后,这些临时设置就会消失,所以你看不到.env文件有任何变化。
正确的写入方法
方法1:直接用Python文件操作(无需第三方库)
.env本质就是一个普通的文本文件,格式是KEY=VALUE的键值对。你可以直接用Python的文件写入功能来创建或修改它:
# 定义要写入的环境变量 env_data = { 'username': 'John', 'email': 'abc@gmail.com' } # 打开.env文件,'w'模式会覆盖原有内容,若要追加新变量用'a'模式 with open('.env', 'w', encoding='utf-8') as env_file: for key, value in env_data.items(): env_file.write(f"{key}={value}\n")
如果你的.env文件已经有其他配置内容,不想被完全覆盖,就把'w'改成'a'(追加模式),新的变量会自动加到文件末尾。
方法2:用专业库python-dotenv(更优雅安全)
如果你经常和.env文件打交道,推荐使用python-dotenv库,它能更稳妥地处理.env文件的读写,还能自动兼容文件里的注释、空白行:
- 先安装库:
pip install python-dotenv
- 写入变量的代码:
from dotenv import set_key # 写入单个环境变量(如果键已存在则替换,不存在则新增) set_key('.env', 'username', 'John') set_key('.env', 'email', 'abc@gmail.com')
内容的提问来源于stack exchange,提问作者RAVI MISHRA
相关产品推荐
相关产品推荐

