私はWindowsでPython 3.6.3を使用しています。 私はこのようなファイルに、単一の複数行の文字列を印刷しよう:なぜ、複数行の文字列が印刷または書き込み時に変更されるのですか? (WindowsのPython 3.6)
with open('test1.txt', mode='w') as f:
f.write('test\r\ntest\r\n')
その後test1.txt
はtest\r\r\ntest\r\r\n
代わりのtest\r\ntest\r\n
を含むことになります。
所望の出力を得るための回避策はそうのようになります。
with open('test2.txt', mode='w') as f:
for line in 'test\r\ntest\r\n'.splitlines():
print(line, file=f)
なぜこの出来事はありますか?
あなたは自分自身に '\ r'を入れてはなりません。テキストモードはあなたのためにそれを翻訳します。 – user2357112
ええ、私はそれをするべきではないことを知っています。私の場合は、文字列を 'tablib.tsv'から取得します。 –
あなたのデータを文字通り書いて欲しいのなら、なぜ 'mode = 'wb''の代わりに' mode =' w'''y? –