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 作为参数传递。
我正在尝试反复浏览包含几行的文本文件。当我的 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 作为参数传递。