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