我试图访问.env文件,但它总是返回None,这是我的文件结构:
x1c 0d1x的数据
在我的.env文件中,我写了:
BOT_TOKEN=someHiddenText
CLIENT_ID=anotherHiddenText
CLIENT_SECRET=anotherHiddenText
字符串
我试过做:
print(os.environ.get('BOT_TOKEN'))
print(os.environ['BOT_TOKEN'])
型
这两个方法都返回None,那么我在这里做错了什么?任何答复将不胜感激!这里还有一个错误消息,以防万一它是有用的。
(environment) PS C:\Users\Steven Kristian\Documents\Portfolio\Tohru> heroku local worker
[OKAY] Loaded ENV .env File as KEY=VALUE Format
11:48:10 worker.1 | None
11:48:10 worker.1 | None
11:48:10 worker.1 | Traceback (most recent call last):
11:48:10 worker.1 | File "app.py", line 16, in <module>
11:48:10 worker.1 | TOKEN = os.environ['BOT_TOKEN']
11:48:10 worker.1 | File "C:\Users\Steven Kristian\AppData\Local\Programs\Python\Python38\lib\os.py", line 673, in __getitem__
11:48:10 worker.1 | raise KeyError(key) from None
11:48:10 worker.1 | KeyError: 'BOT_TOKEN'
[DONE] Killing all processes with signal SIGINT
11:48:10 worker.1 Exited with exit code null
型
1条答案
按热度按时间mtb9vblg1#
environ只能获取在主机上定义的变量(如HOME、USER等),而不能从文件中获取。您可以在运行脚本之前设置/导出它们:
字符串
或者使用python-dotenv这样的python库来获取项目的env配置:
型
然后你可以通过执行以下操作来加载你的.env变量
型