Python for循环中的重置行

时间:2016-10-27 23:17:35

标签: python for-loop line reset

我正在尝试重复浏览几行文本文件。当我的 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")

2 个答案:

答案 0 :(得分:5)

我认为你想回到文件的开头并再次阅读。最简单的方法是

  

infile.seek(0)

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

答案 1 :(得分:0)

当您读取文件时,指针将设置为文件的末尾。要返回文件的开头,请执行" infile.seek(0)"重置指针。如果你想转到文件的末尾,你将传递2作为参数。