Ich versuche, Python 2/3 kompatiblen Code zu schreiben, um Strings in das CSV-Dateiobjekt zu schreiben. Dieser Code:
%Vor%Gibt diesen Fehler bei Python3:
%Vor% Aber assert hat kein Problem mit dem Typ, also warum erzeugt csv
einen Fehler?
Kann ich BytesIO
nicht nur für Python 2 und 3 verwenden? Wo ist das Problem hier?
In Python3 erwartet csv.writer
ein dateiähnliches Objekt, das im Textmodus geöffnet ist.
In Python2 erwartet csv.writer
ein dateiähnliches Objekt, das im Binärmodus geöffnet ist.
Verwenden Sie daher in Python3 io.StringIO
, während Sie in Python2 io.BytesIO
verwenden:
In Python3 gibt der obige Code
aus %Vor%In Python2 gibt der obige Code
aus %Vor%Tags und Links python string python-3.x csv bytesio