首页 > 解决方案 > itertools.repeat(object[, times]) 如何在运行时选择性地设置时间选项?

问题描述

我有一个循环:

for x in itertools.repeat(1)

根据 cmd 行参数,我需要它是无限x的或多次。

所以这

for x in itertools.repeat(1)

或这个

for x in itertools.repeat(1, x)

我怎样才能做到这一点?

标签: python

解决方案


itertools.repeat返回一个可迭代的,所以你可以这样做:

import sys
import itertools

if len(sys.argv) > 1:
    repeater = itertools.repeat(1, int(sys.argv[1]))
else:
    repeater = itertools.repeat(1)

for x in repeater:
    print x

sys.argv是 cli 输入;argv[0]将始终是脚本名称,所以我假设argv[1]将是您的输入。


推荐阅读