您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在不带任何参数的情况下调用脚本时,使用python argparse显示帮助消息

在不带任何参数的情况下调用脚本时,使用python argparse显示帮助消息

这个答案来自Google网上论坛的Steven Bethard 。我将其重新发布在这里,以方便没有Google帐户的人访问。

您可以覆盖方法认行为error

import argparse
import sys

class MyParser(argparse.ArgumentParser):
    def error(self, message):
        sys.stderr.write('error: %s\n' % message)
        self.print_help()
        sys.exit(2)

parser = MyParser()
parser.add_argument('foo', nargs='+')
args = parser.parse_args()

请注意,无论何时error 触发该方法,上述解决方案都会打印帮助消息。例如,test.py --blah如果--blah不是有效的选项,还将打印帮助消息。

如果仅在命令行中未提供任何参数的情况下才要打印帮助消息,则也许这仍然是最简单的方法

import argparse
import sys

parser=argparse.ArgumentParser()
parser.add_argument('foo', nargs='+')
if len(sys.argv)==1:
    parser.print_help(sys.stderr)
    sys.exit(1)
args=parser.parse_args()

请注意,parser.print_help()认情况下会打印到标准输出。正如init_js建议的那样,用于parser.print_help(sys.stderr)打印到stderr。

python 2022/1/1 18:35:01 有224人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶