subprocess.Popen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
scrowface
User
Beiträge: 10
Registriert: Donnerstag 2. März 2006, 15:05

subprocess.Popen

Beitragvon scrowface » Freitag 3. März 2006, 13:51

Code: Alles auswählen

N=input()
process_1 = subprocess.Popen("cjpeg  -quality "+ "N"+"bild.pgm" +">bild.jpg",shell=True, stdout=subprocess.PIPE)
process_1.wait()
process_1.returncode


Ich moechte eigentlich, dass N so zu dem string hinzugefuegt wird, dass er weiterhin innerhalb
des Strings als Integer behandelt wird.
Der Aufruf von cjpeg sieht zum Beispiel auf der Konsole so aus: "cjpeg -quality 10 bild.pgm>bild.jpg".
Wenn ich einfach dieser string in ..Popen() eingebe klappt es ja auch aber ich moechte, dass der Quality-wert vom user eingeben wird.
Wie mache ich das?
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Freitag 3. März 2006, 14:56

Hm! Wo liegt dein Problem?

Code: Alles auswählen

quality = raw_input("Qualität?")
cmd = "cjpeg -quality %i bild.pgm>bild.jpg" % quality
print cmd

process_1 = subprocess.Popen(cmd,shell=True, stdout=subprocess.PIPE)
process_1.wait()
process_1.returncode


btw. nimm niemals input() sondern immer raw_input() !!! Siehe: http://www.python-forum.de/viewtopic.php?t=5021

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

Beitragvon modelnine » Freitag 3. März 2006, 15:38

Ahem... Warum überhaupt, wenn Du eh einen Shell-Aufruf machen willst, subprocess benutzen? os.system() geht dafür auch wunderbar.

Unabhängig davon solltest Du Dir überlegen ob Du nicht auf die Shell verzichten kannst indem Du es ein bissel anders strukturierst, nämlich zum Beispiel keine Redirection zu machen, und stattdessen stdout zu lesen und es von Python aus in eine Datei zu speichern...
--- Heiko.

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], de_tom