关于 Python 操作系统模块 [重复]

问题描述 投票:0回答:3

如何在名为

.env
的文件中获取我的密钥?

我的代码(macOS)有什么问题? 顺便说一句,一个名为dotenv的模块可以工作。但是我只能使用OS模块吗? 请帮助我!🙏🙏

.env

key = 123456

test.py

import os

actual_key = os.getenv('key')

print(actual_key)

最后控制台的输出是

None
python environment-variables
3个回答
0
投票

您需要使用

dotenv
.env
文件加载环境变量,如下所示:

from dotenv import load_dotenv

# Load the environment variables from the .env file
load_dotenv()

actual_key = os.getenv('key')
print(actual_key)

dotenv
可以安装
pip install python-dotenv


0
投票

你不能为所欲为。

os.getenv
无法直接从
.env
文件中获取变量。 TLDR;

关于环境变量的设置:

在 macOS 中临时设置环境变量:

export [variable_name]=[variable_value]

永久执行:

  • 打开
    ~/.bash-profile
  • 向下滚动到 .bash_profile 文件的末尾
  • 在它的末尾添加
    export [variable_name]=[variable_value]
  • 保存您对
    .bash_profile
    文件所做的任何更改
  • 通过重新启动终端窗口或使用
    .bash_profile
    来执行新的
    source ~/.bash-profile

如果你不想想要使用提到的

dotenv
库,你必须先source .env文件和export所有变量,然后再运行使用
os.getenv
的python脚本,看这个:https://stackoverflow.com/a/65694371/15923186


0
投票

os.getenv('key')
环境变量 中寻找“密钥”。默认情况下,.env 文件中的键值对 not 加载到环境变量中。如果你想以这种方式加载密钥,你必须首先将 .env 文件的内容添加到环境变量中。我建议使用 python-dotenv 库:

import os
from dotenv import load_dotenv

load_dotenv() # will search for .env file in local folder and load variables 

KEY_VAR = os.getenv('KEY')
© www.soinside.com 2019 - 2024. All rights reserved.