Python的argparse用prog和版本字符串格式显示程序的版本

2024-05-18 05:12:38 发布

您现在位置:Python中文网/ 问答频道 /正文

在argparse中指定程序名和版本信息的首选方法是什么?

__version_info__ = ('2013','03','14')
__version__ = '-'.join(__version_info__)
...
parser.add_argument('-V', '--version', action='version', version="%(prog)s ("+__version__+")")

Tags: 方法orgdev程序infocomhttpversion
1条回答
网友
1楼 · 发布于 2024-05-18 05:12:38

是的,这是公认的方式。来自http://docs.python.org/dev/library/argparse.html#action

>>> parser.add_argument('--version', action='version', version='%(prog)s 2.0')

当然,您应该以标准方式在包中嵌入版本号:Standard way to embed version into python package?

如果您遵循该方法,则有一个__version__变量:

from _version import __version__
parser.add_argument('--version', action='version',
                    version='%(prog)s {version}'.format(version=__version__))

例如,这是在https://pypi.python.org/pypi/commando/0.3.2a中演示的方法:

parser.add_argument('-v', '--version', action='version', version='%(prog)s ' + __version__)

相关问题 更多 >