About 2 min


1. 环境变量

在 python 中通过 os.environ 可以获取有关系统的各种信息

1.1. 获取 key 字段

大小写无所谓

  • os.environ["HOME"]: 如果有这个键,返回对应的值,如果没有,则抛出异常 KeyError

    >>> os.environ["HOME"]
    'C:\\Users\\lab'
    >>> os.environ['HOME1']
    KeyError: 'HOME1'
    
  • os.environ.get(): 如果有这个键,返回对应的值; 如果没有,则返回 None; 也可以设置默认值,当键存在时返回对应的值,不存在时,返回默认值

    >>> print(os.environ.get("HOME"))
    C:\Users\lab
    >>> print(os.environ.get("HOME1")) 
    None
    >>> print(os.environ.get("HOME1", "default")) 
    default
    
  • os.getenv(): 如果有这个键,返回对应的值; 如果没有,则返回 None

    >>> os.getenv('环境变量名称') == None
    True
    >>> os.getenv('home')         
    'C:\\Users\\lab'
    
  • os.environ.keys() 主目录下所有的 key-value

    >>> os.environ.keys()
    KeysView(environ('COMSPEC': 'C:\\Windows\\system32\\cmd.exe', 'CONDA_DEFAULT_ENV': 'nerf', 'CONDA_EXE':
    'D:\\miniconda\\Scripts\\conda.exe', 'CONDA_PREFIX': 'D:\\miniconda\\envs\\nerf', 'CONDA_PREFIX_1': 'D:\\miniconda', 'CONDA_PROMPT_M
    ODIFIER': '(nerf) ', 'CONDA_PYTHON_EXE': 'D:\\miniconda\\python.exe', 'CONDA_SHLVL': '2', 
    

1.2. 设置系统环境变量

# 其中 key 和 value 均为 str 类型
os.environ['环境变量名称'] = '环境变量值' 
os.putenv('环境变量名称', '环境变量值')
os.environ.setdefault('环境变量名称', '环境变量值')

1.3. 删除系统环境变量

# 只是在当前脚本下临时删除
del os.environ['环境变量名称']

1.4. 判断系统环境变量是否存在

# 存在返回 True,不存在返回 False
if '环境变量值' in os.environ:

if '环境变量值' in os.environ:
  a = os.environ['环境变量值']

a = os.environ['环境变量值']
if a != None:

1.5. 常见

  • HOME
  • PATH

2. PYTHONPATH

是Python搜索路径,默认我们import的模块都会从PYTHONPATH里面寻找。

2.1. 打印PYTHONPATH:

import os
>>> os.sys.path
['', '/home/sword/miniconda3/lib/python310.zip', '/home/sword/miniconda3/lib/python3.10', '/home/sword/miniconda3/lib/python3.10/lib-dynload', '/home/sword/miniconda3/lib/python3.10/site-packages']

import sys
>>> sys.path
['', '/home/sword/miniconda3/lib/python310.zip', '/home/sword/miniconda3/lib/python3.10', '/home/sword/miniconda3/lib/python3.10/lib-dynload', '/home/sword/miniconda3/lib/python3.10/site-packages']

os.environ没有这个东西。

2.2. 设置PYTHONPATH:

法一:命令窗口添加路径

虽然echo $PYTHONPATH是空的,但是下面确实有效.

export PYTHONPATH=$PYTHONPATH:/home/ershisui

法二:在python 中添加:

import sys
sys.path.append('/home/ershisui/')
print(sys.path)