Nexus633
Eroberer
subprocess.Popen() - Stream Stdout
Hallo liebe leute,
ich mal wieder :-)
Ich habe ja in meinen vorherigen Threads beschrieben was ich machen möchte.
Für die die es nicht wissen, gelesen haben. Es geht um einen Installer der die Skripte für die Kommunikation zwischen webinterface und Server ermöglicht.
Das ganze habe ich in Bash bereits realisiert (Vor 1 Jahr als ich meinen ersten Thread gepostet habe :-))
Nun habe ich mich in Python verliebt :-) <3 xD
Ich habe nun folgendes Problem. Ich muss natürlich auch Software wie Screen bz2 etc... Installieren und Natürlich auch Optionale Software die vom Kunden ausgewählt wird.
Ich habe im Internet leider nur die Möglichkeit gefunden mit subprocess.Popen oder mit os.Popen (obwohl ich hier denke das der Namensraum OS den Namensraum Subprocess Included hat und das ein und der selber Befehl ist :-)) den Paketmanager auszuführen. Wir gehen nun mal nur von Debian aus.
wenn ich als Test eine Frage von apt Provoziere, also apt-get remove htop - Möchten Sie fortfahren [J/n]?: und das in einem Stream ausgebe, fehlt mir genau diese Zeile...
Resault:
Wie mache ich das am besten ?
hat jemand von euch eine Idee ?
Gruß
Hallo liebe leute,
ich mal wieder :-)
Ich habe ja in meinen vorherigen Threads beschrieben was ich machen möchte.
Für die die es nicht wissen, gelesen haben. Es geht um einen Installer der die Skripte für die Kommunikation zwischen webinterface und Server ermöglicht.
Das ganze habe ich in Bash bereits realisiert (Vor 1 Jahr als ich meinen ersten Thread gepostet habe :-))
Nun habe ich mich in Python verliebt :-) <3 xD
Ich habe nun folgendes Problem. Ich muss natürlich auch Software wie Screen bz2 etc... Installieren und Natürlich auch Optionale Software die vom Kunden ausgewählt wird.
Ich habe im Internet leider nur die Möglichkeit gefunden mit subprocess.Popen oder mit os.Popen (obwohl ich hier denke das der Namensraum OS den Namensraum Subprocess Included hat und das ein und der selber Befehl ist :-)) den Paketmanager auszuführen. Wir gehen nun mal nur von Debian aus.
wenn ich als Test eine Frage von apt Provoziere, also apt-get remove htop - Möchten Sie fortfahren [J/n]?: und das in einem Stream ausgebe, fehlt mir genau diese Zeile...
Code:
#!/usr/bin/env python
from subprocess import *
proc = Popen('apt-get remove htop',
shell=True,
stdout=PIPE,
)
while proc.poll() is None:
output = proc.stdout.readline()
print(output.replace("\n",""))
Resault:
Wie mache ich das am besten ?
hat jemand von euch eine Idee ?
Gruß
Zuletzt bearbeitet: