Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python getenv(';TOKEN';)返回在.env中定义了TOKEN的None_Python - Fatal编程技术网

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文件。