[英]Options with Options with Python argparse?
我正在用Python编写脚本,并使用argparse解析参数。 该脚本应该从可用的对齐器池中比较两个不同的“对齐器”,并且每个对齐器都有一些配置选项。
我希望能够通过以下方式调用脚本:
./script.py --aligner aligner1 --param 12 --aligner aligner2 --param 30 --other_param 28
我想摆脱这种结构,其中第一个--param选项“属于”第一个--aligner选项,第二个--param和--other_param选项“属于”第二个--aligner选项。
argparse是否可以进行这种结构化选项解析?
如果是这样,最好的方法是什么? 如果没有,我应该看看另一个图书馆吗?
有没有我可以使用的大大更好的UI设计?
通常,我认为您想要的是不可能的,因为您无法将可选参数值关联在一起。 也就是说,我看不到如何将--param 12
与--aligner aligner1
。
然而。
您可以按以下方式使用argparse
:
p = argparse.ArgumentParser ()
p.add_argument ("--aligner", action="append", nargs="+")
这将创建多个aligner参数,每个参数至少需要一个参数(aligner名称)。 然后,您可以使用其他编码方案(您可以在解析器的帮助文本中进行记录),该方案对每个对齐器的参数进行编码。 例如,您可以使用以下命令调用脚本:
./script.py --aligner aligner1 param=12 --aligner aligner2 param=30 other_param=28
然后,您将每个aligner的其他参数拆分为一个list
,并用'='
拆分,然后创建一个dict
。 可能使用默认参数集进行更新。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.