关于使用Python的查询 - 六模块

Query about using Python - Six module

我在程序中使用了six模块,代码如下:

if six.PY2:
    do_something()
else:   
    do_something_else()

这种方法的问题在于,由于依赖关系,函数 do_something_else() 只有在 Python 版本为 3.4+ 时才会 运行。 (而不是在 Py 3.3 上)

我该如何检查?

非常感谢! :)

您可以从 sys.version_info 中获取元组形式的实际版本号。所以:

if sys.version_info >= (3, 4):
    ...

由于这是一项常见要求,six 已经提供了这一要求:

six.PY34

如果Python版本大于或等于v3.4,则为真。

所以你可以这样做:

if six.PY2:
    do_something()
elif six.PY34:   
    do_something_else()
else:
    # ...do what?