subprocess

___ qstnhdr ___ Kann ich subprocess.call die Ausgabe des Aufrufs in eine Zeichenfolge schreiben? ___ answer5902554 ___

%code% verwendet dieselben Argumente wie %code% , einschließlich der Argumente %code% und %code% . Details finden Sie in der Dokumentation.

    
___ answer24638593 ___

Dies ist eine Erweiterung von mantazers Antwort auf python3. Sie können weiterhin den Befehl %code% in python3:

verwenden %Vor%

aber jetzt gibt es uns eine Byte-Zeichenfolge. Um eine echte Python-Zeichenfolge zu erhalten, müssen wir decode verwenden:

%Vor%

Wenn %code% als Kodierung und nicht nur als Standard %code% verwendet wird, sollte dies (zumindest theoretisch) für jedes Betriebssystem funktionieren.

Der abschließende Zeilenumbruch (und alle anderen zusätzlichen Leerzeichen) können einfach mit %code% entfernt werden. Der letzte Befehl lautet also:

%Vor%     
___ tag123python ___ Python ist eine dynamische und stark typisierte Programmiersprache, die die Usability betont. Zwei ähnliche, aber größtenteils inkompatible Versionen von Python sind weit verbreitet (2 und 3). Wenn Sie eine versionsspezifische Python-Frage haben, sollten Sie die Tags [python-2.7] oder [python-3.x] zusätzlich zum Tag [python] verwenden. Wenn Sie eine Python-Variante wie jython, pypy, iron-python usw. verwenden, kennzeichnen Sie diese bitte entsprechend. ___ answer5902720 ___

Nein, Sie können die Ausgabe von subprocess.call () nicht direkt in eine Zeichenfolge lesen.

Um die Ausgabe eines Befehls in eine Zeichenfolge zu lesen, müssen Sie subprocess.Popen (), z. B.:

, verwenden %Vor%

cmd_out hat die Zeichenfolge mit der Ausgabe des Befehls.

    
___ tag123subprozess ___ Das Python-Subprozessmodul ermöglicht es Ihnen, neue Prozesse zu generieren, eine Verbindung zu ihren Eingabe- / Ausgabe- / Fehlerrohren herzustellen und deren Rückkehrcodes zu erhalten. Verwenden Sie es, um einen Shell-Befehl oder eine ausführbare Datei in Python auszuführen. ___ answer24083941 ___

Das Modul %code% stellt eine Methode %code% zur Verfügung, die den bereitgestellten Befehl mit Argumenten (falls vorhanden) ausführt und seine Ausgabe als Byte-Zeichenfolge zurückgibt.

%Vor%

Der obige Code wird %code%

ausgeben

Siehe Dokumentation: Ссылка

    
___ qstntxt ___

Ich möchte subprocess.call machen und die Ausgabe des Aufrufs in eine Zeichenkette bringen. Kann ich das direkt tun, oder muss ich es in eine Datei pipen und dann daraus lesen?

Mit anderen Worten, kann ich stdout und stderr irgendwie in eine Zeichenkette umleiten?

    
___
2
Antworten

Python - Subprozess zum Aufruf von sed verwenden?

Ich möchte sed von Python mit Subprozess aufrufen. Das Skript, das ich versuchte, ist unten. Dies leitet jedoch die sed-Ausgabe an das Standard-Terminal. Es scheint, dass das '& gt;' Der Operator wird in meiner Anweisung subprocess.call nicht...
15.07.2011, 12:29
1
Antwort

Zeitüberschreitungsfehler bei Subprozess

Ich möchte ein Timeout für einen Subprozess verwenden %Vor% Leider führt dies zu einem Zeitüberschreitungsfehler, jedoch nach 30 Sekunden. Es scheint, dass check_output den Shell-Befehl nicht unterbrechen kann. Was kann ich auf der Python...
30.04.2016, 07:42
6
Antworten

Python subprocess.call wartet nicht auf den Prozess, um den Mixer zu beenden

Ich habe ein Python-Skript in Blender, wo es hat subprocess.call(os.path.abspath('D:/Test/run-my-script.sh'),shell=True) gefolgt von vielen anderen Codes, die von diesem Shell-Skript abhängen, um zu beenden. Was passiert ist, dass es ni...
11.04.2017, 23:52
2
Antworten

Python-Subprozessargumente

Zum Beispiel verwende ich ffplay und möchte diesen Befehl -bufsize[:stream_specifier] integer (output,audio,video) ausführen Im Moment habe ich das: %Vor% Aber das sagt, es ist ungültig.     
27.07.2012, 00:29
6
Antworten

FFMPEG- und Pythons-Subprozess

Ich versuche eine Gui für FFMPEG zu schreiben. Ich benutze Pythons Subprozess, um einen ffmpeg-Prozess für jede gewünschte Konvertierung zu erstellen. Das funktioniert gut, aber ich möchte auch einen Weg, um den Fortschritt der Konvertierung...
21.09.2009, 16:49
4
Antworten

Python - Wie Bash-Befehle mit Pipe aufrufen?

Ich kann das normal in der Befehlszeile unter Linux ausführen: %Vor% Aber wenn ich versuche, es mit Python aufzurufen, erhalte ich einen Fehler: %Vor%     
06.09.2011, 17:37
2
Antworten

Überprüfen Sie die Speicherbelegung des Subprozesses in Python

Ich entwickle eine Anwendung in Python auf Ubuntu und ich führe externe Binärdateien innerhalb von Python mit Subprozess. Da diese Binärdateien zur Laufzeit generiert werden und schief gehen können, muss ich die Größe des Speicherbedarfs und di...
30.09.2010, 12:56
1
Antwort

So wechseln Sie mit Subprozess um Verzeichnisse herum

Ich möchte das aktuelle Verzeichnis mit Subprozess ändern. Zum Beispiel: %Vor% Ich denke, das sollte wie ein Kommandozeilen-Unix funktionieren %Vor% Aber es passiert nicht .. Wie muss ich das aktuelle Verzeichnis ändern? Danke....
27.05.2011, 15:11
2
Antworten

wie man eine EXE-Datei mit den Argumenten mit Python ausführt

Angenommen, ich habe eine Datei RegressionSystem.exe . Ich möchte diese ausführbare Datei mit einem -config -Argument ausführen. Die Befehlszeile sollte wie folgt aussehen: %Vor% Ich habe versucht wie: %Vor% aber es hat nicht funkti...
10.04.2013, 14:40
3
Antworten

Behalten Sie einen Unterprozess am Leben und geben Sie ihm Befehle? Python

Wenn ich ein neues subprocess in Python mit einem gegebenen Befehl spawne (sagen wir, ich starte den Python-Interpreter mit dem python -Befehl), wie kann ich neue Daten an den Prozess senden (via STDIN)?     
17.02.2012, 04:13