Der Befehl which in Python
-
Verwenden Sie die Funktion
shutil.which()
, um den Befehlwhich
in Python zu emulieren -
Erstellen Sie eine Funktion zum Emulieren des
which
-Befehls in Python
Unter Linux haben wir den Befehl which
. Dieser Befehl kann den Pfad für eine bestimmte ausführbare Datei identifizieren.
In diesem Tutorial werden wir diesen Befehl in Python emulieren.
Verwenden Sie die Funktion shutil.which()
, um den Befehl which
in Python zu emulieren
Wir können diesen Befehl in Python mit der Funktion shutil.which()
emulieren. Diese Funktion ist eine neue Ergänzung in Python 3.3. Das Modul shutil
bietet verschiedene Funktionen, um mit den Operationen an Dateien und deren Sammlungen umzugehen.
Die Funktion shutil.which()
gibt den Pfad einer gegebenen ausführbaren Datei zurück, die ausgeführt werden würde, wenn cmd
aufgerufen würde.
Zum Beispiel,
import shutil
print(shutil.which("python"))
Ausgabe:
C:\Anaconda\python.EXE
Im obigen Beispiel gibt shutil.which()
das Verzeichnis der ausführbaren Python-Datei zurück.
Erstellen Sie eine Funktion zum Emulieren des which
-Befehls in Python
Unter Python 3.3 gibt es keine Möglichkeit, die Funktion shutil.which()
zu verwenden. Hier können wir also eine Funktion erstellen, die Funktionen aus dem Modul os
verwendet, um nach der angegebenen ausführbaren Datei zu suchen und den Befehl which
zu emulieren.
Siehe den folgenden Code.
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"))
Ausgabe:
C:\Anaconda\python.exe