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.
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
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