动态分配 argparse 版本号 python
Dynamicly assign argparse version number python
我想在我的代码中添加一个动态版本。
我有以下工作代码:
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()
它引发类型错误:格式需要映射
如有任何帮助,我们将不胜感激。
您也可以使用字符串的连接运算符而不是像 -
这样的字符串格式
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
在第一次出现 {}
时被替换
我想在我的代码中添加一个动态版本。 我有以下工作代码:
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()
它引发类型错误:格式需要映射
如有任何帮助,我们将不胜感激。
您也可以使用字符串的连接运算符而不是像 -
这样的字符串格式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
在第一次出现 {}