在python中拆分文本文件

时间:2012-11-29 09:14:06

标签: python text

我有一个文本文件,其中包含一些具有相似字段的记录。

    name:
    Class:
    Subject:
    name:
    Class:
    Subject:

如上所述,此文件可以包含任意数量的记录,我希望将每个记录与相应的字段分开。 以下是我可以达到的目标,以解决这个问题。

    def counter(file_path):
       count = 0
       file_to_read = open(file_path)
       text_to_read = file_to_read.readlines()
       file_to_read.close()
       for line in text_to_read:
           if line.find('name') != -1:
              count = count + 1
       return count

这样我可以算不上。文件中存在的记录,现在我发现很难将整个文本文件拆分为等于no的段。记录。

提前致谢

1 个答案:

答案 0 :(得分:3)

def records(file_path):
    with open(file_path) as f:
        chunk = []
        for line in f:
            if 'name' in line:
                if chunk:
                    yield chunk
                chunk = [line]
            else:
                chunk.append(line)
        if chunk:
            yield chunk

for record in records('data.txt'):
    print '--------'
    print ''.join(record)

打印

--------
    name:
    Class:
    Subject:

--------
    name:
    Class:
    Subject: