这个问题已经有了答案:
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

这是优雅和表达意图非常清楚。

最佳答案

使用islicefromitertools

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的文档

10-05 17:42