在开始和结束标记之间读取文本文件的内容

时间:2014-06-09 06:07:41

标签: python python-3.x

我目前有一个程序可以读取文本文件并根据一组条件输出结果。在文件本身中,有许多不相关的信息需要忽略。

我使用切片来设置我希望程序看起来的指导方针。但是,这会阻止代码与具有不同格式的其他文本相关。

我在每个文件中放置了像* START *和* FINISH *这样的提示,以说明我希望程序在哪里开始并完成搜索。

这就是我现在所处的位置......

for line in open('filename.txt'):
    if line.startswith('* START'):
        #do stuff

    if line.endswith('* FINISH'):
        #do stuff

请原谅我的无知,但我不确定如何获得与使用此方法切片相同的结果。

slicing = list[5:-5]

会感激任何指示 - 干杯!

1 个答案:

答案 0 :(得分:0)

您可以逐行阅读文件,直至到达开始标记,然后执行某些操作,直至到达终结标记。例如:

with open('filename.txt') as f:
    line = f.readline()
    while not line.startswith('* START'):
        line = f.readline()
    while not line.endswith('* FINISH *\n'):
        # add code to do something with the line here
        # e.g. print it, store it to a list, ...
        line = f.readline()
    # do something to the line ending with '* FINISH *\n' here