繁体   English   中英

通过 os.getenv() 获取环境变量的问题

[英]Problem with getting an environmental variable through os.getenv()

我正在尝试编写一个不和谐的机器人,因此,为了避免直接在代码中显示令牌,我将使用环境变量。

在我的TOKEN.env文件中,我写了TOKEN=*token* ,这是我的代码,但 Python 不会得到变量。

import os

import discord
from dotenv import load_dotenv

load_dotenv()
TOKEN = os.getenv('TOKEN')

bot = commands.Bot(command_prefix='$')
bot.run(TOKEN)

我正在使用 pycharm 和 Python 3.9

由于您将环境变量保存在TOKEN.env中,因此您需要告诉dotenv使用此文件:

from dotenv import load_dotenv

load_dotenv('path/to/file/TOKEN.env')

选项 #1:默认路径

将配置保存在名为.env的文件中。

然后,在您的应用程序中使用此代码:

from dotenv import load_dotenv

load_dotenv()

选项 #2:使用自定义路径

只需从任何路径加载:

from dotenv import load_dotenv

load_dotenv('path/to/file/TOKEN.env')

选项#3:在运行应用程序时设置环境变量

除了调用os.getenv之外,您无需在 Python 代码中执行任何操作。

但是,您确实需要在指定值时运行您的应用程序:

>> TOKEN=*token* python3 script.py
- OR -
>> TOKEN=*token* ./script.py

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM