Heim  >  Artikel  >  Backend-Entwicklung  >  Wie führe ich externe Programme mit Leerzeichen im Pfad von Python aus?

Wie führe ich externe Programme mit Leerzeichen im Pfad von Python aus?

DDD
DDDOriginal
2024-11-04 14:47:02443Durchsuche

How to Execute External Programs with Spaces in the Path from Python?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn