python之设置环境变量并读取

2024-06-20 1877阅读

文章目录

  • 前言
  • 一、设置环境变量的四种方法
    • 1.1、设置系统环境变量
    • 1.2、设置pycharm环境变量
    • 1.3、设置这个脚本的环境变量
    • 1.4、读取.env文件
    • 二、 os.environ读取环境变量
      • 2.1、 os.environ.keys()查看主目标下所有key
      • 2.2 、常见 key 字段
      • 2.3、os.environ.get() 用法
      • 2.4、环境变量的增删改查和判断是否存在

        前言

        在python 中,可以通过os.environ 获取环境变量

        什么是环境变量呢?环境变量是程序和操作系统之间的通信方式。有些字符不宜明文写进代码里,比如数据库密码,个人账户密码,如果写进自己本机的环境变量里,程序用的时候通过 os.environ.get() 取出来就行了。这样开发人员本机测试的时候用的是自己本机的一套密码,生产环境部署的时候,用的是公司的公共账号和密码,这样就能增加安全性。os.environ 是一个字典,是环境变量的字典。通过os.environ.get(“HOME”),就可以获取环境变量HOME的值,如果有这个键,返回对应的值;如果没有,返回 none


        一、设置环境变量的四种方法

        1.1、设置系统环境变量

        python环境变量的配置方法:

        1、第一步在我们的电脑上鼠标右键此电脑,选择属性,进去之后,点击高级系统设置,如下图所示:

        python之设置环境变量并读取

        python之设置环境变量并读取

        python之设置环境变量并读取

        python之设置环境变量并读取

        1.2、设置pycharm环境变量

        python之设置环境变量并读取

        python之设置环境变量并读取

        1.3、设置这个脚本的环境变量

        邮件点击这个脚本,选择 [modify run Configuration…]

        python之设置环境变量并读取

        python之设置环境变量并读取

        1.4、读取.env文件

        Env文件由多行组成,每行包含一个键值对,以等号(=)分隔。键值对中的键和值都是字符串类型,并且没有引号或其他额外的字符。例如,下面是一个简单的env文件示例:

        API_KEY=abcdef123456
        DEBUG=True
        MAX_CONNECTIONS=10
        

        Python提供了多种方式来读取env文件。下面我们将介绍两种常见的方法:使用os.environ和使用第三方库python-dotenv

        使用os.environ


        在Python中,os.environ是一个字典,保存了当前进程的环境变量。我们可以使用os.environ来读取env文件中的配置参数。下面是一个使用os.environ读取env文件的示例代码:

        import os
        # 从.env文件中读取配置参数
        def read_env_file(file_path):
            with open(file_path, 'r') as file:
                for line in file:
                    line = line.strip()
                    if line and not line.startswith('#'):
                        key, value = line.split('=')
                        os.environ[key] = value
        # 示例:读取.env文件
        read_env_file('.env')
        # 使用配置参数
        api_key = os.environ.get('API_KEY')
        debug = os.environ.get('DEBUG')
        max_connections = os.environ.get('MAX_CONNECTIONS')
        print(f'API_KEY: {api_key}')
        print(f'DEBUG: {debug}')
        print(f'MAX_CONNECTIONS: {max_connections}')
        

        在这个示例中,我们定义了一个read_env_file函数,它从给定的.env文件中读取配置参数,并将它们设置到os.environ中。然后,我们使用os.environ.get方法获取配置参数的值,并打印出来。

        使用python-dotenv


        python-dotenv是一个非常流行的Python库,用于读取.env文件。相比于手动解析.env文件,使用python-dotenv更加简洁和易用。下面是一个使用python-dotenv读取env文件的示例代码:

        from dotenv import load_dotenv
        # 从.env文件中加载配置参数
        def load_env_file(file_path):
            load_dotenv(file_path)
        # 示例:加载.env文件
        load_env_file('.env')
        # 使用配置参数
        api_key = os.getenv('API_KEY')
        debug = os.getenv('DEBUG')
        max_connections = os.getenv('MAX_CONNECTIONS')
        print(f'API_KEY: {api_key}')
        print(f'DEBUG: {debug}')
        print(f'MAX_CONNECTIONS: {max_connections}')
        

        二、 os.environ读取环境变量

        2.1、 os.environ.keys()查看主目标下所有key

        os.environ.keys() 
        

        python之设置环境变量并读取

        2.2 、常见 key 字段

        windows:

        os.environ['HOMEPATH']:当前用户主目录。
        os.environ['TEMP']:临时目录路径。
        os.environ["PATHEXT"]:可执行文件。
        os.environ['SYSTEMROOT']:系统主目录。
        os.environ['LOGONSERVER']:机器名。
        os.environ['PROMPT']:设置提示符。
        

        linux:

        os.environ['USER']:当前使用用户。
        os.environ['LC_COLLATE']:路径扩展的结果排序时的字母顺序。
        os.environ['SHELL']:使用shell的类型。
        os.environ['LAN']:使用的语言。
        os.environ['SSH_AUTH_SOCK']:ssh的执行路径。
        

        2.3、os.environ.get() 用法

        os.environ 是一个环境变量的字典,可以通过 get 方法获取键对应的值。如果有这个键,返回对应的值,如果没有,则返回 none

        import os
        print(os.environ.get("HOME"))
        

        也可以设置默认值,当键存在时返回对应的值,不存在时,返回默认值

        print(os.environ.get("HOME", "default"))	#环境变量HOME不存在,返回	default
        

        2.4、环境变量的增删改查和判断是否存在

        # 新增环境变量
        os.environ['环境变量名称']='环境变量值' #其中key和value均为string类型
        os.putenv('环境变量名称', '环境变量值')
        os.environ.setdefault('环境变量名称', '环境变量值')
        #更新环境变量
        os.environ['环境变量名称']='新环境变量值'
        #获取环境变量
        os.environ['环境变量名称']
        os.getenv('环境变量名称')
        os.environ.get('环境变量名称', '默认值') 
        # 删除环境变量
        del os.environ['环境变量名称']
        del(os.environ['环境变量名称'])
        # 判断环境变量是否存在
        '环境变量值' in os.environ   # 存在返回 True,不存在返回 False
        
VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]