Python 2to3警告<you should =“”use =“”'operator.mul(none)'=“”here。=“”>这是什么意思?

时间:2017-04-25 15:19:05

标签: python repeat python-2to3

我正在使用2to3来转换脚本。我得到的唯一警告是:

RefactoringTool: Line 716: You should use 'operator.mul(None)' here.

原始剧本的第716行是:

classes = repeat(None)

我无法到达operator.mul(None)的哪个位置。 repeat()link to docs)的参考文档显示我可以毫无问题地通过None。那么,我该怎么办?

1 个答案:

答案 0 :(得分:2)

2to3只是对你的意思repeat感到困惑。它认为你在Python 2中使用operator.repeat

Help on built-in function repeat in module operator:

repeat(...)
    repeat(a, b) -- Return a * b, where a is a sequence, and b is an integer.

而不是itertools.repeat。说实话,这不是一个很好的猜测,因为operator.repeat需要2个参数,但这就是它的猜测。您可以看到the docs中列出的转化。

您可以使用完全限定的itertools.repeat来避免警告,或者只是忽略它。