Python 在 for 循环中重置行

Python reset line in for loop

我正在尝试反复浏览包含几行的文本文件。当我的 for 循环完成一次遍历文件时,我想从头开始重复该文件。有什么方法可以重置行计数器来实现这种情况吗?

infile=open("some_txt.txt","r")

choice=input("Choice:")
g=0

while choice!="close":
    if choice=='1':

        take_off=input("Take off:")
        for line in infile:
            x=line.split()
            if x[1]==take_off:
                print(x)
                g=g+1

        if g==0:
            print("No match.")

    elif choice=='2':

        take_off=input("Take off 2:")
        for line in infile:
            x=line.split()
            if x[2]==take_off:
                print(x)
                g=g+1

        if g==0:
            print("No match.")

    choice=input("Choice")

我了解到您想回到文件的开头并重新阅读。最简单的方法是

infile.seek(0)

一种更慢且更复杂的方法是关闭文件并重新打开它。

当您读取文件时,一个指针被设置到文件的末尾。要返回到文件的开头,您可以通过 "infile.seek(0)" 重置指针。如果您想转到文件的末尾,您可以将 2 作为参数传递。