我正在尝试使用python读取文本文件。代码给出如下:
with open('data.txt') as f:
for line in f:
val=line.split()
它只是从文本文件中读取,并确保一次读取所有行。我想改变它的实现。假设它在一个函数中,并且我有一个已经打开的文件,如何确保每次调用该函数时都读取新行?
我已经阅读了有关seek
函数的信息,我可以在每次调用该函数时使用它来查找新行吗?
你可以使用生成器,像这样
def get_next_line(file_name):
with open(file_name) as f:
for line in f:
yield line.strip()
你可以得到下一行,像这样
for line in get_next_line("Input.txt"):
print line
但是你想得到下一行,而不是在一个循环中,那么你可以显式使用next
函数,像这样
my_file = get_next_line("Input.txt")
print next(my_file)
print next(my_file)