For循环for n iterations-Python

时间:2013-06-11 17:15:17

标签: python python-2.7 for-loop

我在python脚本中有一个简单的For循环:

for filename in filenames:
    outline= getinfo(filename)
    outfile.write(outline)

此For循环是从HTML页面中提取数据的较大脚本的一部分。我有近6GB的html页面,并希望在我尝试所有这些页面之前进行一些测试。

我已经搜索了但是找不到一种方法可以在n次迭代后使我的For循环中断(比方说100)。

4 个答案:

答案 0 :(得分:10)

for filename in filenames[:100]:
    outline= getinfo(filename)
    outfile.write(outline)

列表切片filenames[:100]会将文件名列表截断为前100个元素。

答案 1 :(得分:5)

为你的for循环保留一个计数器。当你的柜台到达时,100,休息

counter = 0
for filename in filenames:
    if counter == 100:
        break
    outline= getinfo(filename)
    outfile.write(outline)
    counter += 1

答案 2 :(得分:1)

我喜欢@ kqr的答案,但只是考虑另一种方法,而不是采用前100,你可以随机选择n多个:

from random import sample
for filename in sample(filenames, 10):
    # pass

答案 3 :(得分:0)

使用Python 2和3中都提供的内置函数enumerate()

for idx,filename in enumerate(filenames):
    if idx == 100:
        break
    outline= getinfo(filename)
    outfile.write(outline)

还要看看this