Subprocess-Modul
@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.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
@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?
@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?
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!
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!
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Was Leonidas meint:
statt
Das hat nichts mit den eigentlichen Daten zu tun.
Code: Alles auswählen
process = subprocess.Popen([sys.executable, 'tok.py'], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
Code: Alles auswählen
process = subprocess.Popen(['python', 'tok.py'], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte