在文件中搜索单词后读取文件的剩余行

时间:2014-01-25 18:38:35

标签: python

我正在尝试在找到一个单词后读取文件的其余部分。

我正在尝试编写一个程序来搜索文件中的单词,然后,当找到该单词时,它需要对单词下面/后面的其余行做一些事情。

这是我到目前为止所做的,但它不起作用。请协助。谢谢。

def readFile():
    with open(“file.txt”, "r") as file:
        for line in file:
            if “Hello” in line:
                break
        nextline = file.readlines()
        for line in nextline 
            print(line)

1 个答案:

答案 0 :(得分:3)

你不能混合迭代(基本上在循环中调用file.next方法)和readlines

引用一个伟大的人(和file.next文档):

  

为了使for循环成为最有效的循环方式   一个文件的行(一个非常常见的操作),next()方法使用一个   隐藏的预读缓冲区。使用预读的结果   缓冲区,将next()与其他文件方法(如readline())相结合   不正常

只使用迭代就可以了:

def readFile():
    with open("file.txt", "r") as file:
        for line in file:
            if "Hello" in line:
                break
        for line in file:
            # do something with the line