In Python gibt es eine portable und einfache Möglichkeit zu testen, ob ein ausführbares Programm existiert?
Mit einfach meine ich etwas wie den which
-Befehl, der einfach perfekt wäre. Ich möchte nicht manuell im PATH suchen oder etwas probieren, das versucht, es mit Popen
& Co. auszuführen und zu sehen, ob es fehlschlägt (das ist das, was ich gerade mache, aber stelle dir vor, es ist launchmissiles
)
4 Stimmen
Was ist falsch daran, nach der PATH-Umgebungsvariablen zu suchen? Was denkst du, was das UNIX-Befehl 'which' tut?
1 Stimmen
Ist das which.py Skript aus der Standardbibliothek ein einfacher Weg?
0 Stimmen
@J.F. - Das which.py-Skript, das mit Python enthalten ist, hängt von 'ls' ab, und einige der anderen Kommentare deuten darauf hin, dass Piotr nach einer plattformübergreifenden Antwort gesucht hat.
0 Stimmen
@Jay: Vielen Dank für den Kommentar. Ich habe coreutils auf Windows installiert, daher ist mir nicht aufgefallen, dass which.py unix-spezifisch ist.
0 Stimmen
Es gibt auch
which
, das Drittanbietermodul: code.activestate.com/pypm/which0 Stimmen
Zusammenhängend: stackoverflow.com/questions/646955/… Die Frage betrifft Windows, aber der Code funktioniert auch auf Posix-Geräten.
0 Stimmen
Beachten Sie, dass os.access() in Python 3.5 oder später nur Windows ACLs berücksichtigt (siehe bugs.python.org/issue2528).
3 Stimmen
Vielleicht sollte stackoverflow.com/a/13936916/145400 die akzeptierte Antwort im Jahr 2020 sein? :)