Python-popen() - kommunizieren( str.Codierung(encoding="utf-8", errors="ignore") ) stürzt ab

Mit Python 3.4.3 unter Windows.

Mein Skript läuft ein kleines java-Programm in der Konsole, und sollte sich die Ausgabe:

import subprocess
p1 = subprocess.Popen([ ... ], stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
out, err = p1.communicate(str.encode("utf-8"))

Führt dies zu einer normalen

'UnicodeDecodeError: 'charmap' codec kann nicht decodieren byte 0x9d in position 135: Charakter-Karten, < undefined>'.

Ich will jetzt die Fehler ignorieren:

out, err = p1.communicate(str.encode(encoding="utf-8", errors="ignore"))

Dies führt zu einem interessanten Fehler fand ich auch keine Hilfe für die Nutzung von google:

TypeError: Deskriptor 'Kodieren' von 'str' object muss ein argument

So scheint es, dass python nicht einmal mehr wissen, was die Argumente für str.encode(...) sind. Das gleiche gilt auch, wenn Sie verlassen Sie den Fehler Teil.

InformationsquelleAutor user136036 | 2015-10-22

Schreibe einen Kommentar