1. 程式人生 > >Python中sys.path.append和os.environ["PATH"]及export PATH幾者區別

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             # 用於臨時性或永久性設定系統環境變數