博客
关于我
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/

你可能感兴趣的文章
Pycharm常用快捷键大全
查看>>
PyCharm快捷键
查看>>
Pycharm快捷键记录
查看>>
pycharm怎么支持WPS?
查看>>
pycharm打印不全问题
查看>>
pycharm提示This inspection detects instance attribute definition outside __init__ method
查看>>
pycharm搭建spark环境
查看>>
pycharm无法导入本地模块问题
查看>>
PyTorch — 初学者教程
查看>>
PyCharm更换pip源为国内源、模块安装、PyCharm依赖包导入导出教程
查看>>
Pycharm没有找到manage repositories按钮解决方案
查看>>
PyCharm点击设置没反应,无法进行设置
查看>>
pycharm的安装配置和简单使用
查看>>
pycharm的环境管理-ChatGPT4o作答
查看>>
pycharm社区版不能使用conda
查看>>
Pycharm终端中conda无法切换到虚拟环境的解决方法(两种方案)
查看>>
pycharm连接sqlite
查看>>
Pycharm那些隐藏的实用小技巧,yyds!
查看>>
PyCharm配置SSH和SFTP远程连接服务器
查看>>
Pycharm隐藏的实用小技巧!建议收藏
查看>>