我想在我的代码中添加动态版本。 我有以下工作代码:
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:格式需要一个映射
任何帮助都将不胜感激。
答案 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
会在第一次出现{}