【发布时间】:2015-02-16 19:12:16
【问题描述】:
我正在尝试将文本写入明确显示所有换行符(\n、\r、\r\n)的输出文件。我正在使用 Python 3 和 Windows 7。我的想法是通过将我正在写入的字符串转换为字节来做到这一点。我的代码如下所示:
file_object = open(r'C:\Users\me\output.txt', 'wb')`
for line in lines:
line = bytes(line, 'UTF-8')
print('Line: ', line) #for debugging
file_object.write(line)
file_object.close()
标准输出(我的 Windows 终端)的 print() 语句是我想要的。例如,一行看起来像这样,\n 字符可见。
Line: b'<p class="byline">Foo C. Bar</p>\n'
但是,write() 方法不会在我的 output.txt 文件中显式打印任何换行符。为什么write() 没有在我的输出文本文件中显式显示换行符,即使我在字节模式下写入,但print 确实在 Windows 终端中显式显示换行符?
感谢您的建议。
【问题讨论】:
-
如果你想让它保持可见,你需要逃避它。
\n具有换行的特殊含义,所有打印功能都尊重这一点。