我有一个python-3代码,我希望能够兼容python-2和python-3,尽可能地保留代码。我想使用范围的迭代行为(对许多项进行迭代)。
为了得到一个迭代器
怎样才能使它成为python2的迭代器,并且尽可能少的修改呢?
看看此链接,它为range和xrange提供了几种方法,但无法使其工作。
发布于 2018-12-26 15:31:40
把这个放在节目开始的地方。
import sys
import builtins
if sys.version_info[0] == 2:
range = xrange
a = range(100) # Keep your Python 3 code unchanged
发布于 2018-12-26 15:30:06
try:
n_range = xrange
except NameError:
n_range = range
我们可以将n_range
设置为xrange,如果它失败,则将其设置为range。
发布于 2018-12-26 15:32:19
您可以在运行时检测python的版本:
from sys import version_info
if version_info[0] < 3:
range = xrange
这将覆盖python 2中的常规范围行为,因此确保代码不使用python 2范围。
https://stackoverflow.com/questions/53933948
复制相似问题