首页 > 解决方案 > 如何处理 Python 中的环境变量?

问题描述

我正在尝试使用 Python 访问 API,但我不希望我的密钥出现在主代码中。因此,我正在尝试使用环境变量(dotenv)。

我的密钥有一个“.env”文件:

API_KEY="123"
API_PASS="ABC"

在我的主要代码中,有以下代码:

load_dotenv(".env"))
API_KEY=os.getenv("API_KEY")
API_PKEY=os.getenv("API_PKEY")
pass=bytes(API_PASS, encoding='utf8')
headers = {'Content-Type': 'xxx',
           'TAPI-ID': API_KEY}

但是当我尝试提出请求时,这不起作用。如果我手动将我的密钥放在主代码中:

pass=bytes("ABC", encoding='utf8')
headers = {'Content-Type': 'xxx',
           'TAPI-ID': "123"}

然后一切都很好,但我不想在主代码中拥有我的密钥。另外,即使我在主代码中打印相关变量,我也不希望看到键,例如,如果代码

pass=bytes(API_PASS, encoding='utf8')

有效,我不想在打印(通过)时看到“ABC”。

需要明确的是:我已经在另一个 API 中成功使用了 dotenv。这里的问题是我必须处理标头和编码,而 Python 不理解我的命令。

谢谢你。

标签: pythonapidictionaryenvironment-variablesdotenv

解决方案


推荐阅读