这个问题已经有了答案:
Is it possible to implement a Python for range loop without an iterator variable?
15个答案
例如,我需要调用一个文件10次调用readline
。
with open("input") as input_file:
for i in range(10):
line = input_file.readline()
# Process the line here
这是使用
range
控制循环数的一种非常常见的技术。唯一的缺点是:有一个未使用的i
变量。这是我能从python得到的最好的吗?有更好的主意吗?
在Ruby中,我们可以做到:
3.times do
puts "This will be printed 3 times"
end
这是优雅和表达意图非常清楚。
最佳答案
使用islice
fromitertools
from itertools import islice
with open("input", 'r') as input_file:
for line in islice(input_file, 10):
#process line
因为您可以直接遍历文件行,所以不需要调用
input_file.readline()
参阅itertools.islice的文档