我正在尝试在找到一个单词后读取文件的其余部分。
我正在尝试编写一个程序来搜索文件中的单词,然后,当找到该单词时,它需要对单词下面/后面的其余行做一些事情。
这是我到目前为止所做的,但它不起作用。请协助。谢谢。
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)
答案 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