我在 python 脚本中有一个简单的 For 循环:
for filename in filenames:
outline= getinfo(filename)
outfile.write(outline)
这个 For 循环是从 HTML 页面中提取数据的较大脚本的一部分。我有将近 6GB 的 html 页面,并且想在所有这些页面上尝试之前进行一些测试运行。
我已经搜索过,但找不到在 n 次迭代后让我的 For Loop 中断的方法(比如说 100 次。)
我在 python 脚本中有一个简单的 For 循环:
for filename in filenames:
outline= getinfo(filename)
outfile.write(outline)
这个 For 循环是从 HTML 页面中提取数据的较大脚本的一部分。我有将近 6GB 的 html 页面,并且想在所有这些页面上尝试之前进行一些测试运行。
我已经搜索过,但找不到在 n 次迭代后让我的 For Loop 中断的方法(比如说 100 次。)
for filename in filenames[:100]:
outline= getinfo(filename)
outfile.write(outline)
列表切片filenames[:100]
会将文件名列表截断为仅前 100 个元素。
为你的 for 循环保留一个计数器。当您的计数器达到 100 时,中断
counter = 0
for filename in filenames:
if counter == 100:
break
outline= getinfo(filename)
outfile.write(outline)
counter += 1
我喜欢@kqr 的回答,但只是另一种考虑的方法,而不是取前 100 个,你可以取一个随机的n
多个:
from random import sample
for filename in sample(filenames, 10):
# pass
使用Python 2 和 3 中提供的内置函数enumerate() 。
for idx,filename in enumerate(filenames):
if idx == 100:
break
outline= getinfo(filename)
outfile.write(outline)
也看看这个。