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

Das erste Argument von python subprocess.check_output und die Shell = True

Ich bin verwirrt darüber, wie man Pythons Subprozess-Modul richtig einsetzt, insbesondere das erste Argument der check_output-Methode und die Option shell . Überprüfen Sie die Ausgabe von der interaktiven Eingabeaufforderung unten. Ich übergeb...
09.01.2014, 19:17
3
Antworten

Wie kann ich die Ausgabe von Unterprozessen stdout und stderr ohne Verzerrung drucken und anzeigen?

Vielleicht gibt es jemanden im Äther, der mir dabei helfen kann. (Ich habe eine Reihe von ähnlichen Fragen dazu auf SO gesehen, aber keine befassen sich sowohl mit Standard-und Standard-Fehler oder befassen sich mit einer Situation ganz wie mein...
11.10.2011, 16:27
2
Antworten

subprocess.Popen einfacher Code erlaubt mir nicht, eine CD durchzuführen (Verzeichnis wechseln)

Ich versuche ein Python-Skript zu verwenden, um das Verzeichnis zu ändern, aber ich erhalte einen Fehler. Der Python-Code: %Vor% Ich bekomme diesen Fehler: %Vor% Was bedeutet der Fehler, was mache ich falsch und wie ändere ich das Ver...
11.06.2014, 11:12
2
Antworten

Skript funktioniert anders, wenn es vom Terminal ausgeführt wird und von Python ausgeführt wird

Ich habe ein kurzes Bash-Skript foo.sh %Vor% Wenn ich es direkt von der Shell aus starte, läuft es gut und wird beendet, wenn es fertig ist %Vor% aber wenn ich es von Python aus starte %Vor% Es gibt die Zeile aus, aber dann bleibt...
08.09.2016, 17:32
2
Antworten

Wie installiere ich das Subprozess-Modul für Python?

pip ist nicht in der Lage, dieses Modul zu finden, ebenso wie ich auf der pypi-Website. Können Sie mir bitte das Geheimnis sagen, wie man es installiert? Ich brauche das Modul, um einen neuen Shell-Prozess über subprocess.call zu erzeugen. Ic...
01.10.2014, 14:56
1
Antwort

Warum kommuniziert Deadlock bei Verwendung mehrerer Popen-Subprozesse?

Das folgende Problem tritt nicht in Python 2.7.3 auf. Es tritt jedoch mit Python 2.7.1 und Python 2.6 auf meinem Computer (64-Bit Mac OSX 10.7.3) auf. Dies ist der Code, den ich irgendwann verteilen werde. Daher würde ich gerne wissen, ob es e...
30.01.2013, 22:57
2
Antworten

Wie finde ich heraus, wann der Subprozess nach der Verwendung von os.kill () beendet wurde?

Ich habe ein Python-Programm (genau genommen eine Django-Anwendung), das einen Subprozess mit % co_de startet % Aufgrund von Architektureinschränkungen meiner Anwendung kann ich subprocess.Popen um den Subprozess zu beenden und Popen.ter...
15.11.2012, 14:37
2
Antworten

Bei der Verwendung von subprocess.Popen () haben stderr und stdout keine Ausgabe

Ich verwende Python, um einen SVN-Commit zu automatisieren, und ich möchte die Ausgabe des SVN-Befehls in eine Protokolldatei schreiben. Der Code, den ich habe, kann SVN ausführen, aber das Problem ist, dass bei einem erfolgreichen Commit der s...
02.05.2012, 00:34
2
Antworten

Submodul Fehler mit 'Export' in Python unter Linux?

Ich richte ein Programm ein, um meinen Computer mit unserem Schul-Proxy zu verbinden, und habe momentan so etwas: %Vor% Aber beim Laufen bekomme ich: %Vor% Warum passiert das bitte Leute?     
14.10.2010, 01:06
3
Antworten

Gibt es eine Möglichkeit zu überprüfen, ob ein Subprozess noch läuft?

Ich starte eine Reihe von Teilprozessen mit subprocess.Popen in Python. Ich möchte prüfen, ob ein solcher Prozess abgeschlossen ist. Ich habe zwei Möglichkeiten gefunden, den Status eines Subprozesses zu überprüfen, aber beide scheinen den Proze...
07.04.2017, 09:25