如何在python脚本中导出环境变量

tf7tbtn2  于 2023-03-31  发布在  Python
关注(0)|答案(1)|浏览(190)

我想用Python写一个不和谐的机器人。
我已将我的私人bot令牌保存在.file中
我打算暂时将bot令牌作为环境变量导出。
所以我的尝试看起来像这样

os.system('set -a')
os.system('source /path/to/.file')
os.system('set +a')

然而,当我在控制台中运行printenv时,bot令牌没有显示!
有趣的是,如果我在控制台(zsh)中运行

set -a
source .file
set +a
printenv

机器人令牌显示得很好!
如果有人能解释一下这个问题,我会很感激的!

dxpyg8gm

dxpyg8gm1#

如果可能的话,我建议使用Dotenv library将环境变量从文件导入到python脚本中,使用load_dotenv,如下所示

import os
from dotenv import load_dotenv

load_dotenv('/path/to/.file')

ENV_VAR = os.getenv('ENV_VAR')

如果没有,我认为您也可以手动读取和解析键值,只要.file遵循特定的格式,如.env文件

import os

with open('/path/to/.file', 'r') as f:
    for line in f:
        key, value = line.split('=', 1)
        # Maybe transform, parsing key value here
        os.environ[key] = value

相关问题