Python 用空行分隔符拆分
使用空行Python 用空行分隔符拆分,python,Python,使用空行“\n\n”分隔符拆分文本文件时遇到问题 re.split("\n", aString) 工作但是 re.split("\n\n", aString) 只返回整个字符串 有什么好主意吗?当心那些坏主意 Windows:CRLF(\r\n) Linux和其他Unice:LF(\n) 旧Mac:CR(\r) 您可能失败了,因为您要查找的双换行符位于Windows编码的文本文件中,并且将显示为\r\n\r\n,而不是\n\n repr()函数将确切地告诉您行尾是什么: >&g
“\n\n”
分隔符拆分文本文件时遇到问题
re.split("\n", aString)
工作但是
re.split("\n\n", aString)
只返回整个字符串
有什么好主意吗?当心那些坏主意
- Windows:CRLF(
)\r\n
- Linux和其他Unice:LF(
)\n
- 旧Mac:CR(
)\r
\r\n\r\n
,而不是\n\n
repr()
函数将确切地告诉您行尾是什么:
>>> mystring = #[[a line of your file]]
>>> repr(mystring)
"'\\nmulti\\nline\\nstring '"
您确定一开始不想逐行读取文件吗
with open(file.txt, 'r') as f:
for line in f:
print (line)
你能举一个你正在使用的文件的例子吗?只有当文件以二进制模式打开时,他才会在Windows上遇到所谓的问题。以文本模式打开二进制文件是一个常见的问题。很少以二进制模式打开文本文件。这解决了它,谢谢!我最初是使用windows创建该文件的,因此可以解释这一点。我正在解析我创建的一个文本文件,其中的数据由行和空行分隔(以便于输入时的可读性)。我将尝试“打开…”,但我必须添加一些内容来解析空行(数据为“2d”),如果您正在逐行读取文件(使用
for line in file:
模式),那么空行将显示为“
或可能是”\r\n“
。你只需检查一下就可以了。所以只要问问这是不是一个空行: