Python 我想在第一个空行开始解析文本文件

Python 我想在第一个空行开始解析文本文件,python,Python,我想从文本文件的第一个空行开始解析文本文件。每个文本文件的前几行都有我在搜索中不需要的URL,并且每个文件的标题长度略有不同。每个文件的标题和正文之间都有一个空行,因此我想在空行之后开始我的正则表达式搜索 我知道如何找到空行,但不知道如何获取它们的索引 myfile = open(mydir,'r') for line in myfile: if line in ['\n', '\r\n']: print 'Found it' 感谢您的帮助为什么不从“找到”的正则表达式

我想从文本文件的第一个空行开始解析文本文件。每个文本文件的前几行都有我在搜索中不需要的URL,并且每个文件的标题长度略有不同。每个文件的标题和正文之间都有一个空行,因此我想在空行之后开始我的正则表达式搜索

我知道如何找到空行,但不知道如何获取它们的索引

myfile = open(mydir,'r')
for line in myfile:
    if line in ['\n', '\r\n']:
        print 'Found it'

感谢您的帮助

为什么不从“找到”的正则表达式开始,而不用担心行号呢?

为什么不从“找到”的正则表达式开始,而不用担心行号呢

myfile = open(mydir,'r')
for index,line in enumerate(myfile):
    if line in ['\n', '\r\n']:
        print 'Found it'
我知道如何找到空行,但不知道如何获取它们的索引

myfile = open(mydir,'r')
for line in myfile:
    if line in ['\n', '\r\n']:
        print 'Found it'
你没有说为什么需要索引,我想你也没有。但假设您或阅读此问题的其他人确实需要索引,则可以使用内置函数:

for i, line in enumerate(myfile):
    if line in ['\n', '\r\n']:
        print 'Found it!', i
请注意,如果您想要一个行号而不是索引,那么您通常希望从1开始,而不是从0开始。为此,请将第一行更改为:

for i, line in enumerate(myfile, 1):
我知道如何找到空行,但不知道如何获取它们的索引

myfile = open(mydir,'r')
for line in myfile:
    if line in ['\n', '\r\n']:
        print 'Found it'
你没有说为什么需要索引,我想你也没有。但假设您或阅读此问题的其他人确实需要索引,则可以使用内置函数:

for i, line in enumerate(myfile):
    if line in ['\n', '\r\n']:
        print 'Found it!', i
请注意,如果您想要一个行号而不是索引,那么您通常希望从1开始,而不是从0开始。为此,请将第一行更改为:

for i, line in enumerate(myfile, 1):

只需单步浏览文件,忽略所有内容,直到找到空行。然后处理剩下的

myfile = open(mydir,'r')
for line in myfile:
    if line in ['\n', '\r\n']:
        break
for line in myfile:
    #dostuff

只需单步浏览文件,忽略所有内容,直到找到空行。然后处理剩下的

myfile = open(mydir,'r')
for line in myfile:
    if line in ['\n', '\r\n']:
        break
for line in myfile:
    #dostuff

谢天谢地,在过去的一个小时里,他一定是有精神障碍。那很好。啊!谢天谢地,在过去的一个小时里,他一定是有精神障碍。那很好。啊!我想跳过每个文件中的第一个块,只解析文本体。那么为什么需要索引呢?你的问题应该是如何跳过每个文件中的第一个块,答案是。。。嗯,你已经在你的问题中发布了它。我的逻辑在这里可能不好,但是当我在['\n','\r\n']中用if行点击第一个空行时:那么我只能用空行做一些事情。我想做的是从现在开始处理文件的其余部分这里已经有很多答案,您应该可以使用。你试过哪一种,为什么不为你工作?你会遇到什么错误?我想跳过每个文件中的第一个块,只解析文本体。那么为什么你需要索引呢?你的问题应该是如何跳过每个文件中的第一个块,答案是。。。嗯,你已经在你的问题中发布了它。我的逻辑在这里可能不好,但是当我在['\n','\r\n']中用if行点击第一个空行时:那么我只能用空行做一些事情。我想做的是从现在开始处理文件的其余部分这里已经有很多答案,您应该可以使用。你试过哪一种,为什么不为你工作?您会遇到什么错误?也许enumeratemyfile,1开始计算以1开头的行是一个更好的选择?因为大多数人在提到行时都是以1开头的numbers@Levon:好主意。更新答案。虽然我不确定这个答案是否对OP有帮助,但我怀疑他根本不需要索引或行号来解决他的问题。也许enumeratemyfile,1开始计算从1开始的行是一个更好的选择?因为大多数人在提到行时都是以1开头的numbers@Levon:好主意。更新答案。虽然我不确定这个答案是否对OP有帮助,但我怀疑他根本不需要索引或行号来解决他的问题