Der Befehl which in Python

Hemank Mehtani 30 Januar 2023
  1. Verwenden Sie die Funktion shutil.which(), um den Befehl which in Python zu emulieren
  2. Erstellen Sie eine Funktion zum Emulieren des which-Befehls in Python
Der Befehl which 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