在 argparse 中指定程序名称和版本信息的首选方法是什么?
__version_info__ = ('2013','03','14') __version__ = '-'.join(__version_info__) ... parser.add_argument('-V', '--version', action='version', version="%(prog)s ("+__version__+")")
在 argparse 中指定程序名称和版本信息的首选方法是什么?
__version_info__ = ('2013','03','14') __version__ = '-'.join(__version_info__) ... parser.add_argument('-V', '--version', action='version', version="%(prog)s ("+__version__+")")
是的,这是公认的方式。来自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__)