Python环境变量设置与读取指南

文章目录

  • 前言
  • 一、设置环境变量的四种方法
  • 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、第一步在我们的电脑上鼠标右键此电脑,选择属性,进去之后,点击高级系统设置,如下图所示:


    1.2、设置pycharm环境变量


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

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

    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() 
    

    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
    
    

    作者:进步哥

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python环境变量设置与读取指南

    发表回复