Python 调用 intern() 的 2 和 3 兼容方式
Python 2 and 3 compatible way to call intern()
如何编写使用 Python 的 intern
的代码,使其与 Python 2 和 Python 3 一起工作(兼容)?有干净的方法吗?
在Python2中,intern是内置的,所以你用intern()
。在 Python 3 中,它已移至 sys
模块,因此您应该使用 sys.intern()
。似乎 intern()
适用于 Python 2 但不适用于 Python 3,并且 sys.intern()
适用于 Python 3 但不适用于 Python 2。是否有在不使用版本检测的情况下,任何适用于 Python 2 和 Python 3 的简洁语法(丑陋)?
一如既往。
try:
intern
except NameError:
from sys import intern
try:
from sys import intern
except ImportError:
pass
这对两者都有效。
有six
包:
from six.moves import intern
如何编写使用 Python 的 intern
的代码,使其与 Python 2 和 Python 3 一起工作(兼容)?有干净的方法吗?
在Python2中,intern是内置的,所以你用intern()
。在 Python 3 中,它已移至 sys
模块,因此您应该使用 sys.intern()
。似乎 intern()
适用于 Python 2 但不适用于 Python 3,并且 sys.intern()
适用于 Python 3 但不适用于 Python 2。是否有在不使用版本检测的情况下,任何适用于 Python 2 和 Python 3 的简洁语法(丑陋)?
一如既往。
try:
intern
except NameError:
from sys import intern
try:
from sys import intern
except ImportError:
pass
这对两者都有效。
有six
包:
from six.moves import intern