Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 Argparse可选和必需参数_Python_Python 2.7_Command Line Arguments - Fatal编程技术网

Python 2.7 Argparse可选和必需参数

Python 2.7 Argparse可选和必需参数,python,python-2.7,command-line-arguments,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.pa

所以我一直在疯狂地阅读关于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作为参数运行它时,它可以工作

有人知道为什么会发生这种情况吗?

参数的名称是
'store'
<代码>存储操作通常期望一个值与标志关联

看起来您希望这是一个布尔开关类型的标志,在这种情况下,您希望执行
'store\u 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()
参数的最大值是
'store'
<代码>存储操作通常期望一个值与标志关联

看起来您希望这是一个布尔开关类型的标志,在这种情况下,您希望执行
'store\u 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()