StupidButAmbitious StupidButAmbitious - 1 month ago 7
Python Question

Python reset line in for loop

I'm trying to repeatedly go through a text file of a few lines. When my for loop is done with one pass through the file, I want to repeat the file from the beginning. Is there any way to reset the line counter to make this happen?

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")

Answer

I gather that you want to go back to the start of the file and read it all again. The simplest way is

infile.seek(0)

A slower and somewhat more involved way is to close the file and reopen it.