使用argparse处理无限的配对参数

时间:2013-06-15 17:17:40

标签: python dictionary command-line-arguments argparse

my project中,我需要定义类似

的语法
mcraw recipe add COUNT ID COUNT_1 ID_1 [COUNT_2 ID_2 ..]

argparse似乎是一般工作的最佳工具。

如何指示Python及其argparse构建这样的字典?

{
  ID_1: COUNT_1,
  ID_2: COUNT_2,
  ...
}

2 个答案:

答案 0 :(得分:3)

成对阅读你的论点:

argdict = {args[i + 1]: args[i] for i in xrange(0, len(args), 2)}

argparse对此类输入没有特殊处理。

答案 1 :(得分:0)

我想你在这里可能有错误的做法。为什么不指向您的程序在命令行上接受的.json文件?

那样

$> python mcraw recipe add --recipies=my_recipies.json

你可以随心所欲地使用它,可能包括诸如Martijn's回答中的内容