目前,当我输入无效选项或省略位置参数时,argparse会将我踢回提示并显示我的应用的使用情况.这没关系,但我宁愿自动显示完整的帮助列表(解释选项等),而不是要求用户输入
./myscript.py -h
谢谢!
杰米
jb.*_*jb. 31
要打印帮助,您可能需要使用:print_helpfunction on ArgumentParserinstance
parser = argparse.ArgumentParser()
(...)
parser.print_help()
Run Code Online (Sandbox Code Playgroud)
要在出错时打印帮助消息,您需要创建自己的ArgumentParser实例子类,这将覆盖error()方法.例如:
class MyParser(argparse.ArgumentParser):
def error(self, message):
sys.stderr.write('error: %s\n' % message)
self.print_help()
sys.exit(2)
Run Code Online (Sandbox Code Playgroud)
当此解析器遇到不可解析的参数行时,它将打印帮助.
小智 15
Google群组中的这个帖子有以下代码片段,似乎可以解决这个问题(略有修改).
class DefaultHelpParser(argparse.ArgumentParser):
def error(self, message):
sys.stderr.write('error: %s\n' % message)
self.print_help()
sys.exit(2)
Run Code Online (Sandbox Code Playgroud)