最近,我在一个python脚本中看到了如下一段代码:
#!/usr/bin/env python
__svnversion__ = '$Id: setup.py 303 2010-10-20 02:51:64Z xyz $'
import sys
似乎这是一种以某种方式跟踪 SVN 中脚本版本的方法,但我完全不知道为什么以及如何使用它?我在哪里可以阅读更多关于这种编码风格以及人们为什么使用它的信息?
最近,我在一个python脚本中看到了如下一段代码:
#!/usr/bin/env python
__svnversion__ = '$Id: setup.py 303 2010-10-20 02:51:64Z xyz $'
import sys
似乎这是一种以某种方式跟踪 SVN 中脚本版本的方法,但我完全不知道为什么以及如何使用它?我在哪里可以阅读更多关于这种编码风格以及人们为什么使用它的信息?
这没有任何意义;该程序的作者刚刚决定创建一个具有该名称的变量。
该'$Id: setup.py 303 2010-10-20 02:51:64Z xyz $'
位允许svn自动更新版本号;大概在代码中的其他地方,这个值会显示或与调试输出或其他东西一起发送。
PEP 8建议将其放入 中__version__
,但相当贬义(“如果您必须拥有 [...] crud”)。
此外,以下PEP 396提供了一个很好的背景和历史,包括有关在 python 源代码中使用“_version_”属性的用户故事。