Seite 2 von 2
Re: Subprocess-Modul
Verfasst: Dienstag 10. April 2012, 06:07
von BlackJack
@MarcelF6: Du meinst hoffentlich mit Hilfe von `repr()` hast Du den Fehler gefunden und nicht behoben. Du versuchst hier entschieden zu oft Datenstrukturen in Zeichenketten umzuwandeln statt damit richtig zu arbeiten.
Re: Subprocess-Modul
Verfasst: Dienstag 10. April 2012, 10:56
von Leonidas
Außerdem kann man statt ``python`` noch ``sys.executable`` schreiben, dann funktionierts auch wenn zum Beispiel ``python`` ein Python 3 ist, oder man eine lokale Installation nutzt oder sonstwas.
Re: Subprocess-Modul
Verfasst: Dienstag 10. April 2012, 11:47
von MarcelF6
@BlackJack: Ja; so meinte ichs: Ich konnte den Fehler dank repr() finden - und dank dem auch verbesseren. (aber nicht mir repr(), korrekt.)
@Leonideas: Merkwürdig. Mit 'python' funktionierts wunderbar, aber wenn ich 'python' durch 'sys.executable' ersetze (sys bereits importiert), dann kriege ich einen Fehler:
OSError: [Errno 2] No such file or directory
Wir sollen es zwar sowieso per 'python' machen - aber wenns per 'sys.executable' auch funktionieren soll, dann ist das etwas komisch. (Oder müsste man das file tok.py abändern, um 'sys.executable' verwenden zu können?
Re: Subprocess-Modul
Verfasst: Dienstag 10. April 2012, 12:12
von Leonidas
Also das sys.executable ist natürlich dann kein String mehr - soweit bist du schon, oder?
Re: Subprocess-Modul
Verfasst: Dienstag 10. April 2012, 12:30
von MarcelF6
Ah, dann ist es klar, warum der Fehler auftritt.
Ja, ich war soweit. Allerdings habe ich gesehen, dass wir es für die Weiterverarbeitung beim String belassen müssen - daher bleibe ich auch bei 'python'. Danke aber für den Hinweis!
Re: Subprocess-Modul
Verfasst: Dienstag 10. April 2012, 12:49
von cofi
Was Leonidas meint:
Code: Alles auswählen
process = subprocess.Popen([sys.executable, 'tok.py'], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
statt
Code: Alles auswählen
process = subprocess.Popen(['python', 'tok.py'], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
Das hat nichts mit den eigentlichen Daten zu tun.
Re: Subprocess-Modul
Verfasst: Dienstag 10. April 2012, 13:53
von MarcelF6
Ah - tatsächlich. Beide Varianten funktionieren wie erwartet

Vielen Dank für den Hinweis!