Python getenv(';TOKEN';)返回在.env中定义了TOKEN的None
在同一个文件夹中,我有一个Python getenv(';TOKEN';)返回在.env中定义了TOKEN的None,python,Python,在同一个文件夹中,我有一个.env文件和一个main.py文件 在.env中,我设置了 TOKEN = 123456 在main.py中,我有 导入操作系统 打印(os.getenv('TOKEN')) 当我运行Python脚本时,我在标准输出中得到None。我做错了什么 我看过所有类似的问题,但似乎我没有遗漏任何步骤。如果有什么影响的话,我正在使用MacOS 提前谢谢 您需要事先加载.env文件 您可以按如下方式进行操作: from dotenv import load_dotenv lo
.env
文件和一个main.py
文件
在.env
中,我设置了
TOKEN = 123456
在main.py
中,我有
导入操作系统
打印(os.getenv('TOKEN'))
当我运行Python脚本时,我在标准输出中得到None
。我做错了什么
我看过所有类似的问题,但似乎我没有遗漏任何步骤。如果有什么影响的话,我正在使用MacOS
提前谢谢 您需要事先加载.env文件 您可以按如下方式进行操作:
from dotenv import load_dotenv
load_dotenv()
您可以在中找到更多详细信息,Python对
.env
文件一无所知。您是如何尝试从该文件加载值的?@GinoMempin我认为dotenv是一种方法。我遵循了一个discord机器人制作教程,该教程涉及将API密钥保存在一个可以找到的.env变量中,并遇到了上述问题。不知道为什么它对教程生成器有效。他们在教程中使用了repl.it,我也使用了,但由于某种原因,我的没有起作用。无论如何,我将继续使用dotenv
!因为在.env文件中放置键值对不会自动将它们导出为环境变量。Python的.getenv或.environ只读取环境变量。如前所述,本教程可能会执行一些其他步骤来加载.env文件。