Python 2.7 Argparse可选参数和必需参数

时间:2016-09-07 17:34:20

标签: python python-2.7 command-line-arguments

所以我一直在疯狂地阅读关于argparse的教程,但似乎无法弄清楚为什么我的程序会出错。我的代码目前看起来像这样:

parser = argparse.ArgumentParser()
parser.add_argument("-d", "-debug", required = False, help = "optional parameter")
parser.add_argument("input_file", help = "file to be parsed")
args = parser.parse_args()

当我使用命令" python myprogram.py -d inputfile"运行程序时它抱怨争论太少。此外,当我使用inputfile作为参数运行它时,它可以工作。

有谁知道为什么会这样?

1 个答案:

答案 0 :(得分:2)

参数的default action'store'store操作通常希望与该标志相关联。

看起来你希望这是一个布尔开关类型的标志,在这种情况下你需要'store_true'动作

parser = argparse.ArgumentParser()
parser.add_argument("-d", "--debug", required = False, help = "optional parameter", action = "store_true")
parser.add_argument("input_file", help = "file to be parsed")
args = parser.parse_args()