繁体   English   中英

带Python argparse的选项与选项?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM