Python,读取行尾字符的两端[CR] [LF]

时间:2016-04-08 01:03:02

标签: python string special-characters

对于Windows环境中的python
我有一个日志文件,使用[CR] [LF]作为行指示的结尾。

但是python只会将[LF]字符(\ x0A)读为'\ n' 某种程度上忽略了[CR]或'\ x0d'。由于这个原因,读取字符串的Len()减少了1。

我可以告诉python在某处使用通用/本地设置以避免这样做吗?

1 个答案:

答案 0 :(得分:3)

在Python 2中,open处于二进制模式的文件以避免行结束转换:

with open(filename, 'rb') as f:

在Python 3中,二进制模式不仅仅禁用行结束翻译(它还意味着阅读bytes而不是str),因此您使用the newline keyword argument来禁用行结束翻译(通过传递空字符串):

with open(filename, newline='') as f: