[英]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.