1

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

    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 的段。的记录。

提前致谢

4

1 回答 1

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:
于 2012-11-29T09:20:45.500 回答