Externe Programme aus Python ausführen
Problem:
Externe Programme mit os.system ausführen schlägt fehl, wenn der Programmpfad Leerzeichen enthält. Das Escapen des Programmpfads mit doppelten Anführungszeichen ermöglicht die Ausführung, aber das Hinzufügen eines Parameters führt dazu, dass die Programmausführung erneut fehlschlägt.
Lösung:
Um Probleme im Zusammenhang mit Anführungszeichenkonventionen zu vermeiden und Leerzeichen in Programmpfaden wird empfohlen, das Subprocess-Modul zu verwenden. Insbesondere kann die Funktion subprocess.call Programme ausführen und auf deren Abschluss warten. So verwenden Sie es:
<code class="python">import subprocess # Create a list of arguments, including the program path and any arguments. args = ['C:\Temp\a b c\Notepad.exe', 'C:\test.txt'] # Execute the program using subprocess.call. subprocess.call(args)</code>
Erklärung:
subprocess.call benötigt eine Liste von Argumenten, was den Umgang mit Leerzeichen und Sonderzeichen in Programmpfaden erleichtert und Argumente. Es vereinfacht außerdem die Fehlerbehandlung und vermeidet potenzielle Probleme im Zusammenhang mit der Shell. Durch die Verwendung von subprocess.call können Sie externe Programme zuverlässig aus Ihrem Python-Skript ausführen, auch wenn der Programmpfad Leerzeichen enthält.
Das obige ist der detaillierte Inhalt vonWie führe ich externe Programme mit Leerzeichen im Pfad von Python aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!