python -V
比python -c 'import sys; print(".".join(map(str, sys.version_info[:3])))'
快约40%。你知道吗
但是python -V
被认为是稳定的吗?你知道吗
至少它以前是在python3.4(http://bugs.python.org/issue18338)之前打印到stderr的,这要求您使用python -V 2>&1
(这已经慢了一点)。你知道吗
然而,主要的问题是:获得python版本的最快方法是什么?你知道吗
有比python -V 2>&1 | cut -f2 -d' '
更好的吗?你知道吗
你有两个问题。我将跳过“什么是最快的方法”,只回答主要问题。你知道吗
绝对不是。所有这些documented就是:
[:3]
意味着您实际上需要3.0.2
,而不是3.0
)。你知道吗X.Y.Z
版本。2.7.8
和2.5.0
。在这种情况下,你想要的是第一个,但你在多大程度上相信“在这种情况下”?你知道吗2.3.0
。你知道吗相比之下,^{} 文档中给出的三个整数正是您想要的。(好吧,只要您不需要python1.5兼容性,因为
version_info
直到1.6/2.0才存在。)还请注意,文档明确指出不要从
sys.version
中提取版本信息,我认为这比python -V
更稳定(正如在所有主要实现中解释的那样,这意味着它实际上必须从Python版本号开始,尽管它有点模糊)。你知道吗但你并不在乎它是否“稳定”,你只在乎它是否“足够稳定”。答案至少部分是主观的,而且非常依赖于使用。如果它适用于您关心的每个Python版本和实现(假设您知道并可以测试所有您关心的实现……),那么它就足够稳定了,对吗?你知道吗
我认为如果您想以编程方式确定Python解释器的版本,您应该只
import sys
并读取sys.version_info
。你知道吗相关问题 更多 >
编程相关推荐