博客
关于我
python - os.getenv 和 os.environ 看不到我的 bash shell 的环境变量
阅读量:799 次
发布时间:2023-03-05

本文共 1841 字,大约阅读时间需要 6 分钟。

Python环境变量管理:通过os.getenv()和os.environ操作

在Python编程中,环境变量是存储系统级信息的重要方式。os.getenv()函数和os.environ字典提供了操作环境变量的强大工具,能够方便地获取、检查、修改和删除环境变量的值。以下将详细介绍如何在Python中使用这些功能。

获取环境变量

要获取已设置的环境变量,可以使用os.getenv()函数或直接访问os.environ字典。以下是两种方法的对比:

  • os.getenv()函数

    import osvalue = os.getenv('MY_VAR')print(value)  # 输出 'hello'
  • os.environ字典

    import osvalue = os.environ['MY_VAR']print(value)  # 输出 'hello'

注意:如果环境变量不存在,两种方法都会返回None

检查环境变量的存在性

为了确认特定环境变量是否存在,可以使用in关键字检查os.environ字典:

import osif 'MY_VAR' in os.environ:    value = os.environ['MY_VAR']    print(value)  # 输出 'hello'else:    print('MY_VAR is not set')

修改环境变量

如果需要在Python中修改现有的环境变量,可以直接通过os.environ字典进行赋值:

import osos.environ['MY_VAR'] = 'world'value = os.environ['MY_VAR']print(value)  # 输出 'world'

删除环境变量

要删除特定环境变量,可以使用del命令:

import osdel os.environ['MY_VAR']if 'MY_VAR' not in os.environ:    print('MY_VAR has been deleted')else:    print('MY_VAR is still set')

测试用例

为了验证上述方法的正确性,可以编写测试用例。以下是一个简单的unittest测试案例:

import osfrom unittest import TestCaseclass TestEnvironmentVariables(TestCase):    def setUp(self):        # 设置环境变量        os.environ['TEST_VAR'] = 'test_value'        def test_get_env_variable(self):        value = os.getenv('TEST_VAR')        self.assertEqual(value, 'test_value')        def test_check_env_variable(self):        self.assertIn('TEST_VAR', os.environ)        def test_modify_env_variable(self):        self.assertEqual(os.environ['TEST_VAR'], 'test_value')        os.environ['TEST_VAR'] = 'modified_value'        self.assertEqual(os.environ['TEST_VAR'], 'modified_value')        def test_delete_env_variable(self):        del os.environ['TEST_VAR']        self.assertNotIn('TEST_VAR', os.environ)if __name__ == '__main__':    unittest.main()

总结

通过os.getenv()os.environ,Python开发者可以轻松地管理和操作系统级的环境变量。无论是获取、检查、修改还是删除环境变量,都可以通过简单的方法实现。环境变量管理是日常开发中不可或缺的一部分,掌握这些技巧可以显著提升你的工作效率。

转载地址:http://tiafk.baihongyu.com/

你可能感兴趣的文章
Prometheus 云原生 - 微服务监控报警系统 (Promethus、Grafana、Node_Exporter)部署、简单使用
查看>>
Prometheus 介绍
查看>>
Prometheus 安全配置详解
查看>>
prometheus 安装node_exporter, node_exporter 安装最新版 普罗米修思安装监控服务器client
查看>>
Prometheus 安装部署实战
查看>>
prometheus 持久化存储方案
查看>>
Prometheus 监控系统企业级实战
查看>>
Prometheus 监控系统简介
查看>>
prometheus监控nginx实战
查看>>
Prometheus监控redis数据库实战
查看>>
Prometheus监控教程:使用Grafana展示主机基本信息
查看>>
Prometheus监控教程:配置介绍
查看>>
Prometheus(2):SpringBoot 2.X集成Prometheus
查看>>
Promise 原理解析与实现(遵循Promise/A+规范)
查看>>
PyTorch:传递 numpy 数组进行权重初始化
查看>>
promise.all是并发执行吗_攻破面试灵魂拷问,解读Java并发编程的艺术,本文带你深入l理解...
查看>>
PyTorch-Tutorials【pytorch官方教程中英文详解】- 7 Optimization
查看>>
promise总结
查看>>
Propel项目改为基于TensorFlow.js
查看>>
properties出现中文乱码解决方法(万能)
查看>>