Heim >Backend-Entwicklung >Python-Tutorial >Wie leite ich die Befehlsausgabe mit subprocess.run in Python in eine Datei um?

Wie leite ich die Befehlsausgabe mit subprocess.run in Python in eine Datei um?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-15 15:30:03239Durchsuche

How to Redirect Command Output to a File with subprocess.run in Python?

Ausgabe mit Unterprozess in Python umleiten

In diesem Snippet wollen wir einen Befehl ausführen, der den Inhalt mehrerer Dateien in einer einzigen kombiniert Datei mithilfe des Unterprozessmoduls von Python. Unser Ziel ist es, die Ausgabe des Befehls in eine Datei umzuleiten, ohne sie in der Konsole anzuzeigen.

In Python 3.5 können Sie diese Umleitung erreichen, indem Sie ein offenes Dateihandle an das stdout-Argument von subprocess.run übergeben:

input_files = ['file1', 'file2', 'file3']
my_cmd = ['cat'] + input_files
with open('myfile', "w") as outfile:
    subprocess.run(my_cmd, stdout=outfile)

Der with-Block stellt sicher, dass die Datei „myfile“ nach dem Vorgang ordnungsgemäß geschlossen wird. Die Funktion subprocess.run führt den Befehl aus und leitet die Ausgabe in die angegebene Datei um.

Beachten Sie, dass die Verwendung eines externen Befehls wie cat für diese Aufgabe nicht erforderlich ist. Sie können die Dateien einfach lesen und ihren Inhalt in Ihrem Python-Programm verketten.

Das obige ist der detaillierte Inhalt vonWie leite ich die Befehlsausgabe mit subprocess.run in Python in eine Datei um?. 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