Python argparse 辅助部分
Python argparse helper section
刚开始使用 argparse 解析命令。
我有一个命令参数 -l。此参数从用户那里获取 2 个参数。
-l ONE_ARG TWO_ARG
在使用 argparse 的帮助文件中,我得到以下内容:
-l L L Some message for this argument
我如何替换 'L' 来提供用户需要像这样放入这些参数中的内容的小庙宇。
-l "First_Name" "Last_Name" Some message for this argument
基本上比 'L L' 更具描述性,这对用户来说没有任何意义。
最好的选择是使用元变量,https://docs.python.org/2/library/argparse.html#metavar 这给出了
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-l', nargs=2,
help = "Some message for this argument",
metavar=('"First Name"', '"Second Name"'))
args = vars(parser.parse_args())
一个更灵活但不太优雅的答案可能是手动指定您想要的确切帮助:
import argparse
def print_names():
outstr = "usage: scriptname -l 'First Name' 'Second Name' "
outstr += "Some message for this argument "
print(outstr)
parser = argparse.ArgumentParser()
parser.add_argument('-l', help=print_names(), nargs=2)
args = vars(parser.parse_args())
刚开始使用 argparse 解析命令。
我有一个命令参数 -l。此参数从用户那里获取 2 个参数。
-l ONE_ARG TWO_ARG
在使用 argparse 的帮助文件中,我得到以下内容:
-l L L Some message for this argument
我如何替换 'L' 来提供用户需要像这样放入这些参数中的内容的小庙宇。
-l "First_Name" "Last_Name" Some message for this argument
基本上比 'L L' 更具描述性,这对用户来说没有任何意义。
最好的选择是使用元变量,https://docs.python.org/2/library/argparse.html#metavar 这给出了
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-l', nargs=2,
help = "Some message for this argument",
metavar=('"First Name"', '"Second Name"'))
args = vars(parser.parse_args())
一个更灵活但不太优雅的答案可能是手动指定您想要的确切帮助:
import argparse
def print_names():
outstr = "usage: scriptname -l 'First Name' 'Second Name' "
outstr += "Some message for this argument "
print(outstr)
parser = argparse.ArgumentParser()
parser.add_argument('-l', help=print_names(), nargs=2)
args = vars(parser.parse_args())