Python 中的 which 命令
Hemank Mehtani
2023年1月30日
2021年10月2日
在 Linux 中,我們有 which
命令。此命令可以識別給定可執行檔案的路徑。
在本教程中,我們將在 Python 中模擬此命令。
在 Python 中使用 shutil.which()
函式模擬的 which
命令
我們可以使用 shutil.which()
函式在 Python 中模擬這個命令。這個函式是最近在 Python 3.3 中新增的。shutil
模組提供了幾個函式來處理對檔案及其集合的操作。
shutil.which()
函式返回給定可執行檔案的路徑,如果 cmd
被呼叫,它將執行。
例如,
import shutil
print(shutil.which("python"))
輸出:
C:\Anaconda\python.EXE
在上面的示例中,shutil.which()
返回 Python 可執行檔案的目錄。
在 Python 中建立一個函式來模擬的 which
命令
在 Python 3.3 以下,無法使用 shutil.which()
函式。所以在這裡,我們可以使用 os
模組中的函式建立一個函式來搜尋給定的可執行檔案並模擬 which
命令。
請參考以下程式碼。
import os
def which(pgm):
path=os.getenv('PATH')
for p in path.split(os.path.pathsep):
p=os.path.join(p,pgm)
if os.path.exists(p) and os.access(p,os.X_OK):
return p
print(which("python.exe"))
輸出:
C:\Anaconda\python.exe