【发布时间】:2021-07-30 17:41:19
【问题描述】:
我正在使用 argparse 并且某些参数需要一个值。 例如,在我的论点中
lst -pln -pk
lst sotore true,-pln 也存储真实值, 但是 -pk 需要输入一个值。
当我输入-pk 没有值时,它显示以下错误并退出。
错误:参数 -pk/--package:需要一个参数
但我不希望程序退出。相反,我想显示无效的输入错误消息并在我的程序中继续 while 循环。
注意:在我的程序中,我使用了一个 while 循环来继续程序,直到用户输入 exit 并按 enter。它工作正常。
【问题讨论】:
-
你可以将
exit_on_error=False传递给argparse.ArgumentParser的构造函数。 -
或者更改解析器的
error/exit方法。 -
一般
input很小,不需要复杂的argparse解析。