我正在使用argparse编写一个解释器。并面临一个问题。
while True:
cmd = input('>>>')
parser = argparse.ArgumentParser()
parser.add_argument('-f', help='foo')
parser.parse_args(cmd.split())
当我输入[-h]命令时,它退出程序。
>>>-h
usage: test.py [-h] [-f F]
optional arguments:
-h, --help show this help message and exit
-f F foo
现在,我只想要“显示此帮助信息”,而不是“退出”。那我该怎么办?
答案 0 :(得分:3)
这可以通过删除预定义的帮助命令并添加自己的命令来完成:
import argparse
while True:
cmd = input('>>>')
parser = argparse.ArgumentParser(add_help=False)
parser.add_argument('-h', '--help', action='store_true',
help = 'show this help message')
parser.add_argument('-f', help='foo')
args = parser.parse_args(cmd.split())
if args.help:
parser.print_help()