Python 对于循环列表,请中断并继续
为了正确地说明问题:我为造成的混乱道歉 对尽早脱离循环有疑问。 我有文件夹-19951996到2014。每个文件夹都有xml文件。在某些xml文件中,条目-MaxAmdLetterDate为None。 我想转到文件夹中的下一个文件,而不是现在使用break,程序执行转到下一个文件夹,并在遇到break时跳过该文件夹中的所有文件 这是密码Python 对于循环列表,请中断并继续,python,loops,for-loop,break,Python,Loops,For Loop,Break,为了正确地说明问题:我为造成的混乱道歉 对尽早脱离循环有疑问。 我有文件夹-19951996到2014。每个文件夹都有xml文件。在某些xml文件中,条目-MaxAmdLetterDate为None。 我想转到文件夹中的下一个文件,而不是现在使用break,程序执行转到下一个文件夹,并在遇到break时跳过该文件夹中的所有文件 这是密码 import xml.etree.ElementTree as ET import os for yrcnt in range(1995,2015):
import xml.etree.ElementTree as ET
import os
for yrcnt in range(1995,2015):
old= old="./old/"+ str(yrcnt)
for dirpath, subdirs, files in os.walk(old): #folder name in which subfolder>files are present
print files
for filename in files:
if filename.endswith(".xml") == True:
fl=filename
print fl
print "-----Reading current file -------" + str(fl)
flnm=str(dirpath)+"/"+str(filename)
tree1 = ET.parse(flnm) #db on system
root1 = tree1.getroot()
for ch1 in root1.findall('Award'):
aid1 = ch1.find('AwardID').text
maxdate1=ch1.find('MaxAmdLetterDate').text
print "Max amd date : "+str(maxdate1)
if maxdate1==None:
break
谢谢你的帮助
原职:
我的for循环在遇到中断时提前退出。有什么补救办法吗
files=[1,2,3,4,5]
for filename in files:
print filename
if filename==3:
break
o/p:
预期O/p
1
2
4
5
谢谢
编辑:带有一些注释,例如这是预期的中断功能。让我说明一下:我希望函数类似于一个范围(0,5),我使用它作为嵌套循环的一部分,我希望循环继续进行,而不是因为一个文件而退出。这是
中断
的工作方式。如果要遍历整个列表,只需删除中断
(或者如果要对该值执行操作,请使用传递
作为占位符)
输出:
1
2
3
4
5
1
2
4
5
如果您只想跳过一个值,请使用continue
关键字
values = [1, 2, 3, 4, 5]
for value in values:
if value == 3:
continue
print(value)
输出:
1
2
3
4
5
1
2
4
5
Break
自动退出循环。如果您不想在文件名为3时打印文件名,请使用如下If
语句:
files=[1,2,3,4,5]
for filename in files:
if filename!=3:
print filename
结果是:
1
2
4
5
您希望得到什么?请显示预期的输入和输出。你的问题没有真正意义。这就像问“我的函数在到达return语句时返回,我如何修复它?”这就是break语句的定义。。。