簡體   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