Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python,读取两个行尾字符[CR][LF]_Python_String_Special Characters - Fatal编程技术网

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

Python,读取两个行尾字符[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),

用于windows环境中的python
我有一个日志文件,它使用[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上的
换行符=''
表示使用通用换行符模式来识别换行符(因此,任何常见的换行符标准都算作换行符),但不进行翻译(您可以返回原始字符,不管它们是什么)。