Python argparse同时设置nargs与action=store_true/count触发TypeError的问题咨询
Python argparse同时设置nargs与action=store_true/count触发TypeError的问题咨询
各位好,我在使用Python的argparse模块时碰到了一个TypeError,想请大家帮忙看看是不是我哪里操作错了🥺
我的代码如下:
import argparse def parse_cmd_line(): parser = argparse.ArgumentParser() parser.add_argument('-c', '--create', nargs='*', action="store_true") args, flist = parser.parse_known_args() if __name__ == "__main__" : parse_cmd_line()
当我用这个命令运行脚本时:
python3 parse.py -c
得到了以下报错:
Traceback (most recent call last): File "/home/raz/dev/tools/arc/parse.py", line 13, in <module> parse_cmd_line() File "/home/raz/dev/tools/arc/parse.py", line 7, in parse_cmd_line parser.add_argument('-c', '--create', nargs='*', action="store_true") File "/usr/lib/python3.12/argparse.py", line 1489, in add_argument action = action_class(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^ TypeError: _StoreTrueAction.__init__() got an unexpected keyword argument 'nargs'
还有几个补充信息:
- 把action改成"count"时,也会出现类似的报错
- 调整nargs参数在add_argument里的位置,结果也没有变化
我反复检查了好几遍,感觉自己的操作没什么问题,但确实触发了错误,想问问大家是不是我哪里理解错了argparse的参数用法呀?




