我正在编写一个模块,让我可以用python3编写代码,但仍然可以在2中运行它。它看起来非常简单……还有什么需要我补充的吗?从我在交互式解释器上(有限的)挥舞,未来的导入不会影响python 3,并且被视为多余的。
# _2or3.py
'''
Common usage:
from __future__ import print_function, nested_scopes, division, absolute_import, unicode_literals
from _2or3 import *
'''
import sys
if sys.version[0] == '2':
range = xrange
input = raw_input 显然,有些事情你在3中是做不到的(比如字典压缩),而且两种语言之间也有一些问题(比如字节码)。看起来你永远不应该使用字节)
如有任何意见,我们将不胜感激。
发布于 2011-04-02 12:03:02
查看six,它已经做到了这一点,并且加载了更多。它还有一些方法可以帮助你在两个版本中进行二进制和Unicode编码。然而,并不是所有您需要做的技术都可以这样做,特别是当您需要支持Python2.5或更早版本时。我试图介绍其中的大多数in the book,但我确信我错过了一些。
https://stackoverflow.com/questions/5520286
复制相似问题