通过configparser模块读取.env
文件出现这个报错,找了一圈都没找到实际是哪里发生的,看网上其他文章也是有这个报错,但是没有给出实际的解决方法,再回过头来仔细看,大概看报错是在读文件的时候出的错误:
Traceback (most recent call last):
File "D:\code\qt_demo\demo\env_demo.py", line 50, in <module>
res = load_env_all()
File "D:\code\qt_demo\demo\env_demo.py", line 38, in load_env_all
config.read(".env", encoding='utf-8-sig')
File "D:\Software_install\python39\lib\configparser.py", line 697, in read
self._read(fp, filename)
File "D:\Software_install\python39\lib\configparser.py", line 1085, in _read
raise MissingSectionHeaderError(fpname, lineno, line)
configparser.MissingSectionHeaderError: File contains no section headers.
file: '.env', line: 1
'OPENAI_API_KEY = "aaa"'
.env
OPENAI_API_KEY = "aaa"
env_demo.py
import configparser
def load_env_all():
# Load environment variables from .env file
config = configparser.ConfigParser()
# config.read(".env",encoding='utf-8')
config.read(".env", encoding='utf-8-sig')
# Get all items from the .env file
items = dict(config.items("default"))
print("items")
# Return items as a dictionary
return items
if __name__ == '__main__':
# res = load_env()
# res = load_all()
res = load_env_all()
print(res)
第一次用这个模块没啥经验,看到都有点脸红,看人家给的demo中env文件格式跟我的不大一样:
[test]
test = "aaa"
估计我也是这里有点异常,安装这个格式顺手改改看,没成想,还真改好,真可谓妙手回春
[db]
OPENAI_API_KEY = "aaa"
[default]
OPENAI_API_KEY = "aaa"
运行代码的结果:
{'openai_api_key': '"aaa"'}
打工人,打工魂,打工人就人上人~~~~~
周末愉快~