Python,读取两个行尾字符[CR][LF]
用于windows环境中的pythonPython,读取两个行尾字符[CR][LF],python,string,special-characters,Python,String,Special Characters,用于windows环境中的python 我有一个日志文件,它使用[CR][LF]作为行尾指示 但是python只将[LF]字符(\x0A)读取为“\n” [CR]或“\x0d”被忽略了。因此,读取字符串的Len()减少了1 是否有一个通用/本地设置,我可以告诉python避免这样做?在python 2中,以二进制模式打开文件以避免行尾转换: with open(filename, 'rb') as f: 在Python 3中,二进制模式不仅仅是禁用行尾转换(它还意味着读取字节,而不是str),
我有一个日志文件,它使用[CR][LF]作为行尾指示 但是python只将[LF]字符(\x0A)读取为“\n”
[CR]或“\x0d”被忽略了。因此,读取字符串的Len()减少了1
是否有一个通用/本地设置,我可以告诉python避免这样做?在python 2中,以二进制模式打开文件以避免行尾转换:
with open(filename, 'rb') as f:
在Python 3中,二进制模式不仅仅是禁用行尾转换(它还意味着读取字节
,而不是str
),因此您可以使用它来禁用行尾转换(通过传递空字符串):
在Python 2中,
以二进制模式打开文件,以避免行尾转换:
with open(filename, 'rb') as f:
在Python 3中,二进制模式不仅仅是禁用行尾转换(它还意味着读取字节
,而不是str
),因此您可以使用它来禁用行尾转换(通过传递空字符串):
@MarkRansom:不,他们只是禁用了行尾翻译。我认为Python 2上的二进制模式将\n
视为唯一的换行符,而Python 3上的换行符=''
意味着使用通用换行符模式来识别换行符(因此任何通用换行符标准都算作换行符),但不进行转换(您可以取回原始字符,不管它们是什么)。@MarkRansom:不,它们只是禁用了换行符。我相信Python 2上的二进制模式将\n
视为唯一的换行符,而Python 3上的换行符=''
表示使用通用换行符模式来识别换行符(因此,任何常见的换行符标准都算作换行符),但不进行翻译(您可以返回原始字符,不管它们是什么)。