这个问题纯粹是因为我的好奇心 - 当我输入python时,我看到了
$python
Python 2.7.9 (default, Mar 1 2015, 12:56:24)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
此文字的来源 - 特别是(default, Mar 1 2015, 12:57:24)
和on linux 2
?其余部分是相当自我解释的,我可以在文件/usr/bin/python2.7-config
我尝试touch
/usr/bin/python2.7
并发现不会改变时间。
很抱歉,如果这是一个错误的地方 - 如果是的话,是否有其他地方可以在stackexchange上询问?
答案 0 :(得分:2)
这些文本在Python二进制文件本身中,在它构建时放在那里。
编译时间戳来自standard C macros "Choose..."
和__DATE__
。
编译器版本信息来自GCC __TIME__
宏(在Clang上也可用)。
__VERSION__
来自Python源代码中名为linux2
的宏,可能是通过makefile提供给编译器的。
答案 1 :(得分:2)
第一部分来自Py_GetVersion()
,相当于sys.version
。最后,调用Py_GetBuildInfo()
,它似乎从C宏__DATE__
和__TIME__
获取该信息。查看source了解详情。