1. 程式人生 > >Python sys.path 注意事項

Python sys.path 注意事項

Python sys.path 注意事項

問題描述

學藝不精,被這個問題折磨了快一個小時才發現問題的根源。有個chromedriver.exe 檔案需要放到Path裡面去,但是用下面這個程式碼跑了半天都不行

import sys
import os
sys.path.append(os.path.dirname(os.getcwd()))
os.system("...")  # 操作:啟動放著這個目錄下的某個可執行檔案

各種嘗試,都是失敗,直接在我的電腦裡面新增path是可行的,用上述方法設定我自定義的settings配置檔案路徑也是可行的,然而就是上面的這串程式碼不行。

問題解決

直接找了官方文件,發現這麼一句話:

A list of strings that specifies the search path for modules. Initialized from the environment variable PYTHONPATH, plus an installation-dependent default.

As initialized upon program startup, the first item of this list, path[0], is the directory containing the script that was used to invoke the Python interpreter. If the script directory is not available (e.g. if the interpreter is invoked interactively or if the script is read from standard input), path[0]

is the empty string, which directs Python to search modules in the current directory first. Notice that the script directory is inserted before the entries inserted as a result of PYTHONPATH.

加粗的字型modules,也就是說,sys.path只在程式搜尋modules的時候起作用,是方便個人模組的匯入而設計的,不是和直接設定環境變數一個作用,所以我上面的程式碼無法讓程式自動找到我需要的可執行檔案。所以,對於我這個問題,要麼寫到環境變數裡寫好,要麼老老實實用相對路徑或者絕對路徑。

紀念我浪費的一個小時。。。