菜鸟笔记
提升您的技术认知

Python中sys.path.append和os.environ["PATH"]及export PATH几者区别

  • sys.path.append

sys.path其实是Python的搜索路径集

>>> import sys
>>> sys.path
['', 'C:\\Python\\python36.zip', 'C:\\Python\\DLLs', 'C:\\Python\\lib', 
'C:\\Python', 'C:\\Python\\lib\\site-packages']
>>>

如果要动态添加Python路径,可以使用append方法

>>> import sys
>>> sys.path.append("D:\\django\\web")
>>> sys.path
['', 'C:\\Python\\python36.zip', 'C:\\Python\\DLLs', 'C:\\Python\\lib', 
'C:\\Python', 'C:\\Python\\lib\\site-packages', 'D:\\django\\web']
>>>

备注: 上面的添加只是临时添加,如果退出当前会话,或者当前的shell,就会消失。

  • os.environ['PATH']

os.environ是一个字典,一系列的键、值对存储在该字典中,系统环境信息全部存储在该字典中

>>> import os
>>> os.environ.keys()
['LNKEVN', 'TMP', 'COMPUTERNAME', 'USERDOMAIN', 'PSMODULEPATH', 'COMMONPROGRAMFILES', 'PROCESSOR_IDENTIFIER', 'PROGRAMFILES', 'PROCESSOR_REVISION', 'SYSTEMROOT', 'PATH', '_DFX_INSTALL_UNSIGNED_DRIVER', 'PROGRAMFILES(X86)', 'WINDOWS_TRACING_FLAGS', 'TEMP', 'COMMONPROGRAMFILES(X86)', 'PROCESSOR_ARCHITECTURE', 'ALLUSERSPROFILE', 'LOCALAPPDATA', 'HOMEPATH', 'JAVA_HOME', 'PROGRAMW6432', 'USERNAME', 'WORKON_HOME', 'LOGONSERVER', 'PROMPT', 'SESSIONNAME', 'PROGRAMDATA', 'PATHEXT', 'FP_NO_HOST_CHECK', 'WINDIR', 'WINDOWS_TRACING_LOGFILE', 'HOMEDRIVE', 'SYSTEMDRIVE', 'COMSPEC', 'NUMBER_OF_PROCESSORS', 'APPDATA', 'PROCESSOR_LEVEL', 'COMMONPROGRAMW6432', 'OS', 'PUBLIC', 'USERPROFILE']
>>>

os.environ('环境变量名称')  = "环境变量值",常见的值如下:

  • os.environ['HOMEPATH']             # 当前用户主目录
  • os.environ['TEMP']                       # 临时目录路径
  • os.environ[PATHEXT']                  # 可执行文件
  • os.environ['SYSTEMROOT']        # 系统主目录
  • os.environ['LOGONSERVER']      # 机器名
  • os.environ['PROMPT']                  # 设置提示符
  • os.environ['PATH']                        # 系统环境信息

此外可使用os.environ["PATH"] += "新系统环境值",来添加新环境信息。

>>> import os
>>> os.environ["PATH"] += "D:\\ENVS"
>>> os.environ["PATH"]
'C:\\Python27\\;C:\\Python27\\Scripts;......;D:\\ENVS'
>>>

备注: 通过上面的方式添加也只是临时性添加,退出会话后自然恢复原来的值。

  • export PATH

通过export PATH=$PATH:/NewDir可以临时设置系统环境变量,如果要长久生效,必须将export语句放置在/etc/profile文件或者~/.bashrc文件中。

从上面可以得出结论: 

  • sys.path.append       # 用于临时性添加Python搜索路径
  • os.environ['PATH']    # 用于临时性设置Linux操作系统环境变量,一般是/bin目录下的可执行文件路径
  • export PATH             # 用于临时性或永久性设置系统环境变量