PHP前端开发

在Python中访问环境变量的值

百变鹏仔 1个月前 (01-20) #Python
文章标签 环境变量

Python 中的环境变量是存储在代码外部的配置值,由应用程序在运行时使用。这些变量以键值对的形式存在,就像 Python 中的字典一样。可以在配置文件中设置、更新或删除这些变量,而无需更改应用程序代码。 Python 提供了许多操作系统函数来访问环境变量而不影响应用程序的代码。在本文中,我们将学习如何在 Python 中访问环境变量。

使用操作系统模块

为了与操作系统交互,python 有一个 os 模块,借助它您可以与操作系统交互以及访问环境变量。 os.environ 字典包含键值对中的所有环境变量。

我们可以使用os.environ来访问环境变量的路径以及任何新的环境变量值。

示例

import os# get the value of the PATH environment variablepath = os.environ['PATH']print(path)# set a new environment variableos.environ['MY_VAR'] = 'my value'# get the value of the new environment variablemy_var = os.environ['MY_VAR']print(my_var)

输出

/opt/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/tools/node/bin:/tools/google-cloud-sdk/binmy value

示例

如果未找到环境变量,则代码会引发关键错误。为了避免此类错误,我们可以使用 os.environ.get() 函数来访问环境变量,并避免在找不到密钥时出现密钥错误。

立即学习“Python免费学习笔记(深入)”;

import os# get the value of the MY_VAR environment variable, or return Nonemy_var = os.environ.get('MY_VAR')print(my_var)

输出

None

使用Dotenv模块

在行业中,我们在开发、暂存和生产代码库时使用不同的环境。每个环境都有单独的环境变量文件。 Dotenv是一个第三方库,用于访问多个环境中的环境变量。

安装

要使用 dotenv 模块,我们首先要通过以下命令安装 python-dotenv

pip install python-dotenv

Pip 是 python 包管理器。 Pip install python-dotenvdotenv 模块安装到本地文件系统中。

安装 python-dotenv 模块后,我们必须在项目的根目录中创建一个 .env 文件,并在其中创建环境值作为键值对。

MY_KEY_VAR=my_value

My_KEY_VAR 是环境变量的键,my_value 是对应的值。

现在,我们可以在需要的地方使用 dotenv.load_dotenv() 函数加载 .env 文件到我们的 Python 代码中,该函数会读取 .env 文件并将所有环境变量加载到 os.environ 模块中。

示例

from dotenv import load_dotenvimport os# load the environment variables from the .env fileload_dotenv()# get the value of the MY_VAR environment variablemy_var = os.environ['MY_KEY_VAR']print(my_var)

输出

my_value

使用Argparse模块

argparse是Python中的一个标准库,用于解析命令行参数。我们可以使用 argparse 库将环境变量作为 Python 中的命令行参数传递。

算法

  • 为我们想要传递的每个环境变量定义一个命令行参数。

  • 然后使用 argparse 返回的 args 对象访问环境变量。

  • 运行文件时传递环境变量及其值。

示例

import argparseparser = argparse.ArgumentParser()parser.add_argument('--my-var')args = parser.parse_args()my_var = args.my_varprint(my_var)

输出

None

运行上述文件时,我们需要通过键名传递环境值。

python script.py --my-var "my value"

当我们在命令行中传递–my-var选项及其值“my value”时,argparse模块的parse_args()方法会解析该选项并获取其值,即“my_value”

使用配置解析器模块

配置解析器是一个Python库,用于读取Python应用程序中的配置文件。

算法

要使用配置解析器模块,我们必须

  • 创建一个配置文件,并根据需要以键值对的形式为每个部分(如开发、生产和登台)声明环境变量。

  • 使用Python文件中的os.getenv()函数访问当前环境。

  • 在需要访问环境变量的Python文件中,我们可以使用ConfigParser模块来访问当前环境的环境变量。

[development]MY_VAR=my value[production]MY_VAR=another valueimport configparserimport os# get the current environmentenv = os.getenv('ENVIRONMENT', 'development')# read the configuration fileconfig = configparser.ConfigParser()config.read('config.ini')# get the value of the MY_VAR environment variable for the current environmentmy_var = config.get(env, 'MY_VAR')print(my_var)

结论

在本文中,我们探索了访问 Python 文件中的环境变量的不同方法。我们了解了如何使用os模块访问环境变量,如何使用dotenv库在多个环境下访问环境变量,如何使用argparse 模块将环境变量作为命令行参数传递,以及如何使用 ConfigParser 模块从多个环境访问当前环境的环境变量。