Ich benutze Python 3.6.3 unter Windows. Wenn ich versuche, eine einzelne mehrzeilige Zeichenfolge zu drucken, wie diese Datei:Warum wird eine mehrzeilige Zeichenfolge beim Drucken oder Schreiben geändert? (Python 3.6 unter Windows)
with open('test1.txt', mode='w') as f:
f.write('test\r\ntest\r\n')
Dann test1.txt
wird bis enthält test\r\r\ntest\r\r\n
statt test\r\ntest\r\n
beenden.
Eine Abhilfe zu bekommen die gewünschte Ausgabe wie so aussehen:
with open('test2.txt', mode='w') as f:
for line in 'test\r\ntest\r\n'.splitlines():
print(line, file=f)
Warum ist das passiert
?
Sie sollten nicht die '' s in sich setzen. Der Textmodus übersetzt das für Sie. – user2357112
Ja, ich weiß, dass ich das nicht tun sollte. In meinem Fall bekomme ich die Zeichenfolge jedoch in einem Rutsch von 'tablib.tsv'. –
Warum 'mode = 'w'' anstelle von' mode =' wb'', wenn Sie möchten, dass Ihre Daten wörtlich geschrieben werden? –