用于循环n次的python
使用如下循环列出目录中的n个文件:用于循环n次的python,python,loops,Python,Loops,使用如下循环列出目录中的n个文件: myfiles = glob.glob("*.xml") files = len(myfiles) count = 0 myfiles.sort() files_to_process = 3 for filename in myfiles: count += 1 print (time.strftime("%I:%M:%S"), count ,'of', files, '|', filename) if count == files_to_
myfiles = glob.glob("*.xml")
files = len(myfiles)
count = 0
myfiles.sort()
files_to_process = 3
for filename in myfiles:
count += 1
print (time.strftime("%I:%M:%S"), count ,'of', files, '|', filename)
if count == files_to_process:
break
除了使用break之外,是否还有其他方法只迭代n次 使用myfiles[:count]或itertools.islicemyfiles,count只能对文件名进行第一次计数。使用myfiles[:count]或itertools.islicemyfiles,count只能对文件名进行第一次计数。尝试以下操作:
myfiles = glob.glob("*.xml")
files = len(myfiles)
count = 0
myfiles.sort()
files_to_process = 3
for filename in myfiles[:files_to_process]:
count += 1
print (time.strftime("%I:%M:%S"), count ,'of', files, '|', filename)
试试这个:
myfiles = glob.glob("*.xml")
files = len(myfiles)
count = 0
myfiles.sort()
files_to_process = 3
for filename in myfiles[:files_to_process]:
count += 1
print (time.strftime("%I:%M:%S"), count ,'of', files, '|', filename)
这里有一种使用zip的方法:行为是在用尽所有时间后停止,无论哪个时间序列更短。压缩范围还可以节省您手动更新计数器的时间
myfiles=glob.glob*.xml
files=lenmyfiles
myfiles.sort
文件到进程=3
对于文件名,按zipmyfiles计数,范围1,文件\u到\u进程+1:
printtime.strftime%I:%M:%S,计数,“of”,文件,“|”,文件名
也就是说,这个解决方案不是惯用的,我不认为代码比使用break的版本好。这里有一种使用zip的方法:行为是在用尽任何一个较短的序列后停止。压缩范围还可以节省您手动更新计数器的时间
myfiles=glob.glob*.xml
files=lenmyfiles
myfiles.sort
文件到进程=3
对于文件名,按zipmyfiles计数,范围1,文件\u到\u进程+1:
printtime.strftime%I:%M:%S,计数,“of”,文件,“|”,文件名
这就是说,这个解决方案不是惯用的,我不认为代码比使用break的版本好。这是一个很好的干净解决方案,但当列表中的文件少于三个时,它将提供一个索引器。在一分钟内添加,以避免索引器-虽然不再那么干净:这是一个很好的干净解决方案,但是,当列表中的文件少于三个时,它将提供一个索引器。在一分钟内添加以避免该索引器-尽管不再那么干净: