我在Windows 7如何將文本寫入使用Python 3以二進制模式打開的文件?
with open('foo.txt', 'wb') as f:
print(b'foo\nbar\n', file=f)
我碰到下面的錯誤運行與Python 3.5.1下面的代碼。
Traceback (most recent call last):
File "foo.py", line 2, in <module>
print(b'foo\nbar\n', file=f)
TypeError: a bytes-like object is required, not 'str'
我的本意是寫在這樣的文件中的文本,所有'\n'
顯示爲LF的文件中(而不是CRLF)。
我上面的代碼有什麼問題?將文本寫入以二進制模式打開的文件的正確方法是什麼?
這是要'CRLF'在Windows,而不是寫'LF'。我想'LF'甚至可以在Windows上編寫。 –
@LoneLearner你試過了嗎? Python 3是它自己的行處理,它使用這段代碼在Windows上只寫LF。我在Windows上並使用十六進制轉儲對其進行驗證。 –
@LoneLearner補充證明。 –