我在这里寻找了几个小时的解决方案,但我找不到一个。也许有人可以帮助我或指出类似的问题?
我在while循环中有一个函数。该函数迭代文本文件中的每一行:
def parser():
for line in f:
print(line)
f = open('textfile.txt', 'r')
count = 0
while count < 7:
parser()
count += 1
print(count)
我的输出如下:
text file line 1
text file line 2
text file line 3
1
2
3
4
5
6
我最初的目标是在每个+1之后再次调用该函数:
text file line 1
text file line 2
text file line 3
1
text file line 1
text file line 2
text file line 3
2
text file line 1
text file line 2
text file line 3
3
......等等。
道歉,如果这实际上是重复的并提前感谢!
答案 0 :(得分:1)
对于你使用你需要重新打开你的while循环中的文件(addidionally我传递了filehander f
作为parser
函数的参数):
def parser(f):
for line in f:
print(line.strip()) # stripping off '\n'
count = 0
while count < 7:
with open('../var/textfile.txt', 'r') as f:
parser(f)
count += 1
print(count)
或者你也可以f.seek(0)
打开原始文件:
f = open('../var/textfile.txt', 'r')
count = 0
while count < 7:
f.seek(0)
parser(f)
count += 1
print(count)