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?

    
___
1
Antwort

Nachfolgende Signale von pcntl_signal, die den Handler nicht auslösen

Lemme mich zunächst mit einer grundlegenden Beschreibung des Codes, den ich habe. Ich beginne mit einem Haupt-Eltern-Prozess (Hinweis: Ich zeige nicht alle Funktionen der Einfachheit halber. Lassen Sie mich wissen, wenn Sie mich brauchen, um an...
12.03.2012, 21:54
1
Antwort

Verwendung von psutil.Popen mit Unicode-Befehlen in Python 2

Hey, ich versuche, den folgenden Befehl auszuführen (mit psutil.Popen mit Python 2.7): %Vor% Mit diesem Code: %Vor% Aber ich bekomme diese Ausnahme: %Vor% Ich habe diese verwandte Frage gefunden: subprocess.Popen mit einem Unicode-P...
06.09.2017, 16:23
2
Antworten

Wie kann ich die Ausgabe von stdout eines untergeordneten Prozesses erfassen?

Ich versuche, ein Programm in Python zu schreiben, und mir wurde gesagt, dass ich eine .exe-Datei ausführen soll. Wenn diese .exe-Datei ausgeführt wird, spuckt sie eine Menge Daten aus und ich brauche eine bestimmte Zeile, die auf dem Bildschirm...
28.05.2009, 20:45
3
Antworten

Was ist der Unterschied zwischen allen os.popen () Methoden?

Ich habe mir die Python-Dokumentation angesehen und festgestellt, dass es 4 gibt -5 verschiedene Versionen von popen (), z os.popen (), os.popen2 () usw. Abgesehen von der Tatsache, dass einige stderr enthalten, während andere dies nicht...
09.11.2008, 08:50
3
Antworten

Bedeutet die 'Shell' in 'shell = True' im Subprozess 'bash'?

Ich habe mich gefragt, ob subprocess.call("if [ ! -d '{output}' ]; then mkdir -p {output}; fi",shell=True) von sh oder zsh anstelle von bash auf verschiedenen Servern interpretiert wird? Hat jemand Ideen dazu? Was muss ich tun,...
16.03.2013, 12:45
2
Antworten

So ermitteln Sie subprocess.Popen () fehlgeschlagen, wenn Shell = True

Windows-Version von Python 2.6.4: Gibt es eine Möglichkeit festzustellen, ob subprocess.Popen () bei Verwendung von shell = True fehlschlägt? Popen () schlägt fehl, wenn Shell = False ist %Vor% Aber wenn Shell = True ist, scheint es keine...
18.05.2010, 22:19
2
Antworten

verhindert, dass subprocess.Popen die Ausgabe in Python anzeigt

Ich versuche also, die Ausgabe eines Befehls in eine Variable zu speichern. Ich möchte nicht, dass die Ausgabe während des Befehls angezeigt wird, obwohl ... Der Code, den ich gerade habe, ist wie folgt ... %Vor% Wenn ich das in eine Date...
24.12.2012, 16:15
4
Antworten

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

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...
05.05.2011, 18:30