Überprüfen Sie, ob in Python externe Befehle vorhanden sind (z. B. `which`).

Beim Umgang mit einem externen Programm in Python wollte ich vor der Ausführung überprüfen, ob das externe Programm vorhanden ist, also habe ich es überprüft. Sie können auch nach Laufzeitfehlern suchen, aber vorher möchten Sie nur überprüfen, ob diese verfügbar sind. Oder Sie können es verwenden, wenn Sie den Pfad herausfinden möchten, in dem das Programm installiert ist.

Das externe Programm soll von subprocess.Popen etc. ausgeführt werden. Ich habe Python-Versionen 3.5.1 und 2.7.11 ausprobiert.

Wahrscheinlich der einfachste Weg (Python 3.3 und höher)

Verwenden Sie die welche Funktion des Shutil-Moduls. Gibt den Pfad zum Befehl zurück, wenn der Befehl ausführbar ist, oder "Keine", wenn er nicht gefunden wird.

import shutil

print(shutil.which('ls'))  # > '/bin/ls'
print(shutil.which('ssss'))  # > None

Erleichterung für diejenigen, die gezwungen sind, Python unter 3.3 zu verwenden

shutil.which wird nicht zurückportiert und kann in Python 2.7 nicht verwendet werden. Ich denke, es ist besser, sofort auf 3.5 oder höher umzusteigen, aber ich denke, dass einige Leute das nicht können, also werde ich Ihnen zeigen, wie man es mit altem Python benutzt.

Sie können dasselbe mit shutil.which mit distutils.spawn.find_executable tun. http://stackoverflow.com/questions/5226958/which-equivalent-function-in-python

import distutils.spawn

print(distutils.span.find_executabl('ls'))  # > '/bin/ls'
print(distutils.span.find_executabl('ssss'))  # > None

Wenn Sie das nicht wissen, können Sie es nicht finden ... Diese Methode kann in 3 Serien angewendet werden, aber Distutils wurden als geringfügig behandelt und es gab keine Dokumentation. http://docs.python.jp/3/library/distutils.html

Der Fallpunkt ist

Etc.

Recommended Posts

Überprüfen Sie, ob in Python externe Befehle vorhanden sind (z. B. `which`).
Führen Sie externe Befehle mit Python aus
Externe Befehlsausführung in Python
Suchen Sie mit Python nach externen Befehlen
Überprüfen Sie das Verhalten des Zerstörers in Python
Überprüfen Sie die Existenz der Datei mit Python
Überprüfen Sie, ob in Java BigQuery-Tabellen vorhanden sind
Überprüfen Sie die atrophische Natur der Wahrscheinlichkeitsverteilung in Python
Python --Überprüfen Sie den Wertetyp
Objektäquivalenzbeurteilung in Python
Überprüfen Sie die OpenSSL-Version von Python 2.6
Implementierung der schnellen Sortierung in Python
Ermöglichen Sie die Installation von in Python erstellten Befehlszeilentools
Überprüfen Sie die Funktionsweise von Python für .NET in jeder Umgebung
Überprüfen Sie Python auf Speicherlecks
Bildpixel-Manipulation in Python
So bestimmen Sie die Existenz eines Selenelements in Python
Drücken Sie einen Befehl in Python (Windows)
So etwas wie JS setTimeout in Python
Zeitdelta in Python 2.7-Serie teilen
So überprüfen Sie die Speichergröße einer Variablen in Python
MySQL-automatische Escape-Funktion von Parametern in Python
Existenz aus Sicht von Python
Umgang mit JSON-Dateien in Python
Im Python-Befehl zeigt Python auf Python3.8
Implementierung eines Lebensspiels in Python
Audio-Wellenform-Anzeige in Python
Zeigen Sie Zeichen wie AA in Python an
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
Überprüfen und verschieben Sie das Verzeichnis in Python
Das Gesetz der Zahlen in Python
Implementierung der ursprünglichen Sortierung in Python
Reversibles Verwürfeln von Ganzzahlen in Python
So etwas wie tail -f in Python
Implementieren Sie in Python Ihren eigenen jupyter magic-Befehl% timeit, der für die Geschwindigkeitsmessung praktisch ist
Ändern Sie die Sättigung und Helligkeit von Farbspezifikationen wie # ff000 in Python 2.5
Überprüfen Sie die speicherinterne Byte-Zeichenfolge der Gleitkommazahl in Python
Module häufig verwendeter Funktionen in Python (z. B. Lesen externer Dateien)
Ich habe ein Programm erstellt, um die Größe einer Datei mit Python zu überprüfen
Konvertierung der Zeichenfolge <-> Datum (Datum, Datum / Uhrzeit) in Python
Übung, dies in Python zu verwenden (schlecht)
Allgemeine Relativitätstheorie in Python: Einführung
Suchen Sie nach Dateien wie Linux Find in Python
Ausgabebaumstruktur von Dateien in Python
Zeigen Sie eine Liste der Alphabete in Python 3 an
Lernen Sie das Entwurfsmuster "Befehl" in Python
Vergleich japanischer Konvertierungsmodule in Python3
Überprüfen und empfangen Sie die serielle Schnittstelle in Python (Portprüfung)
Zusammenfassung verschiedener for-Anweisungen in Python
Überprüfen Sie, ob die URL in Python vorhanden ist
Das Ergebnis der Installation von Python auf Anaconda
So überprüfen Sie die Version von opencv mit Python
Gang of Four (GoF) -Muster in Python
RSS-Daten in Zabbix speichern (externe Prüfung)
Überprüfen Sie den Pfad des importierten Python-Moduls
Grundlagen zum Ausführen von NoxPlayer in Python
Suchen und überprüfen Sie die inverse Matrix in Python
Massenersatz von Zeichenfolgen in Python-Arrays
Projekt Euler # 16 "Summe der Kräfte" in Python
Zerlegen Sie Befehlsargumente in einer Zeile in Python
Führen Sie so etwas wie Redis-Transaktionen in Python aus