Python,读取行尾字符[CR][LF]
Python, Read both end of the line characters [CR][LF]
对于 python 在 windows 环境
我有一个使用 [CR][LF] 作为行尾指示的日志文件。
但是 python 只会将 [LF] 字符 (\x0A) 读取为 '\n'
[CR] 或'\x0d' 以某种方式被忽略。读取字符串的len()因此减1。
是否有某个地方的 universal/local 设置我可以告诉 python 避免这样做?
在Python2、open
二进制模式下的文件避免行结束翻译:
with open(filename, 'rb') as f:
在 Python 3 中,二进制模式不仅仅是禁用行结束转换(它还意味着读取 bytes
而不是 str
),所以你使用 the newline
keyword argument 禁用行结束翻译(通过传递空字符串):
with open(filename, newline='') as f:
对于 python 在 windows 环境
我有一个使用 [CR][LF] 作为行尾指示的日志文件。
但是 python 只会将 [LF] 字符 (\x0A) 读取为 '\n'
[CR] 或'\x0d' 以某种方式被忽略。读取字符串的len()因此减1。
是否有某个地方的 universal/local 设置我可以告诉 python 避免这样做?
在Python2、open
二进制模式下的文件避免行结束翻译:
with open(filename, 'rb') as f:
在 Python 3 中,二进制模式不仅仅是禁用行结束转换(它还意味着读取 bytes
而不是 str
),所以你使用 the newline
keyword argument 禁用行结束翻译(通过传递空字符串):
with open(filename, newline='') as f: