gpt4 book ai didi

python - argparse 只有一个命令行选项

转载 作者:太空狗 更新时间:2023-10-30 01:40:51 25 4
gpt4 key购买 nike

我正在尝试使用 argparse 模块创建一个 CLI,但我想要具有不同参数要求的不同命令,我试过这个:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('foo', help='foo help')
parser.add_argument('test', nargs=1, help='test help')
args = parser.parse_args()

我想要的是能够运行 python test.py foopython test.py test somearg但是当我运行 python test.py foo 时,我得到了 error: too few arguments。有没有一种方法可以使命令的行为类似于 git statusgit commitpip install?还是有更好的方法在 python 中创建 CLI?

最佳答案

@crodjer是正确的;
举个例子:

import argparse
parser = argparse.ArgumentParser()
subparsers = parser.add_subparsers(title='subcommands',
description='valid subcommands',
help='additional help')
foo_parser = subparsers.add_parser('foo', help='foo help')
bar_parser = subparsers.add_parser('bar', help='bar help')
bar_parser.add_argument('somearg')
args = parser.parse_args()

测试每个子解析器的不同参数:

$ python subparsers_example.py bar someargNamespace(somearg='somearg')$ python subparsers_example.py fooNamespace()$ python subparsers_example.py foo someargusage: argparse_subparsers.py foo [-h]subparser_example.py foo: error: unrecognized arguments: somearg

帮助输出:

$ python subparsers_example.py foo -husage: argparse_subparsers.py foo [-h]optional arguments:  -h, --help  show this help message and exit$ python subparsers_example.py bar -husage: argparse_subparsers.py bar [-h] someargpositional arguments:  someargoptional arguments:  -h, --help  show this help message and exit

关于python - argparse 只有一个命令行选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6394328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com