如何读取for循环中的下一行?python
我有一个for循环在我的文件中迭代,根据一个条件,我希望能够读取文件中的下一行。我想检测一个关键字如何读取for循环中的下一行?python,python,Python,我有一个for循环在我的文件中迭代,根据一个条件,我希望能够读取文件中的下一行。我想检测一个关键字[对于每个名称],一旦我找到它,我知道名称将跟随,我打印每个名称。基本上,一旦我找到了[每个名称]关键字,我就可以继续浏览这些行了 Python代码: 大家好,谢谢你们的回答。我已经发布了更多关于我在这里实际做什么的详细问题。一旦你找到标签,只要从循环中中断并开始阅读姓名,它就会从你中断的位置继续阅读: for line in file: if '[FOR_EACH_NAME]' in li
[对于每个名称]
,一旦我找到它,我知道名称将跟随,我打印每个名称。基本上,一旦我找到了[每个名称]
关键字,我就可以继续浏览这些行了
Python代码:
大家好,谢谢你们的回答。我已经发布了更多关于我在这里实际做什么的详细问题。一旦你找到标签,只要从循环中中断并开始阅读姓名,它就会从你中断的位置继续阅读:
for line in file:
if '[FOR_EACH_NAME]' in line:
break
else:
raise Exception('Did not find names') # could not resist using for-else
for _ in range(5):
line = file.readline()
if 'Name' in line:
print(line)
以下各行中的名称是否为每个名称?如果是,您可以检查在额外变量中查找什么:
file=open("file.txt","r")
names = 0
for line in file:
if "[FOR_EACH_NAME]" in line
names = 5
elif names > 0:
if "Name" in line:
print(line)
names -= 1
我想这会满足你的要求。这将读取接下来的5行,而不是接下来的5个名称。如果需要接下来的五个名称,则在行
ct+=1
#Open the file
ffile=open('testfile','r')
#Initialize
flg=False
ct=0
#Start iterating
for line in ffile:
if "[FOR_EACH_NAME]" in line:
flg=True
ct=0
if "Name" in line and flg and ct<5:
print(line)
ct+=1
#打开文件
ffile=open('testfile','r')
#初始化
flg=错误
ct=0
#开始迭代
对于ffile中的行:
如果行中有“[每个名称]”:
flg=真
ct=0
如果第行中有“Name”以及flg和CTG,则可以使用next(file)
获取下一行。请注意,在执行此操作时,您使用的迭代器与for循环使用的迭代器相同,因此它将丢失以这种方式获得的任何行。唯一的问题是,一旦将文件交换为列表,代码就会失败。OP没有指定他只想查找一个名称列表。不过对其他人来说很好!
#Open the file
ffile=open('testfile','r')
#Initialize
flg=False
ct=0
#Start iterating
for line in ffile:
if "[FOR_EACH_NAME]" in line:
flg=True
ct=0
if "Name" in line and flg and ct<5:
print(line)
ct+=1