动态分配argparse版本号python

时间:2015-06-19 10:10:15

标签: python argparse

我想在我的代码中添加动态版本。 我有以下工作代码:

import argparse

VERSION = 0.2

parser = argparse.ArgumentParser(prog='PDF Generator')
parser.add_argument('-v', '--version', action='version', version='%(prog)s version 0.1')

args = parser.parse_args()

当我运行-v选项时,它给出了静态文本(0.1) 如何更改此文本以便使用全局变量?

当我使用此代码时:

import argparse

VERSION = 0.2

parser = argparse.ArgumentParser(prog='PDF Generator')
parser.add_argument('-v', '--version', action='version', version='%(prog)s version %f' %VERSION)

args = parser.parse_args()

它引发了一个TypeError:格式需要一个映射

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

您也可以使用字符串的连接运算符而不是字符串格式,如 -

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

或者如Lukasz的评论所述,您可以使用String.format作为 -

parser.add_argument('-v', '--version', action='version', version='%(prog)s version {}'.format(VERSION))

Version会在第一次出现{}

时被替换