如何使 argparse 中的 `help` 行为与 `--help` 相同

发布于 2024-12-05 13:57:03 字数 179 浏览 0 评论 0原文

我希望 help 选项的作用与 --help 相同。

旁注:我创建了一个与 svn 或 hg 具有相同命令行行为的程序。我设法用子解析器做到了这一点。但是我想让事情保持一致。这就是为什么我希望 help 能够工作。

I want the help option act the same as --help.

sidenote: I have created a program with the same command line behavior as svn or hg. I managed to do this with subparsers. However I want to make things consistent. That's why I want help to work.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

‖放下 2024-12-12 13:57:03

您可以执行以下操作来创建别名并使 program help 的行为与 program --help 相同

import argparse

def help(args):
    args.parser.print_help()

parser = argparse.ArgumentParser(description='my program')
subparsers = parser.add_subparsers()
p_help = subparsers.add_parser('help')
p_help.set_defaults(func=help, parser=parser)

args = parser.parse_args()
args.func(args)

You can do the following to create an alias and make program help act the same as program --help

import argparse

def help(args):
    args.parser.print_help()

parser = argparse.ArgumentParser(description='my program')
subparsers = parser.add_subparsers()
p_help = subparsers.add_parser('help')
p_help.set_defaults(func=help, parser=parser)

args = parser.parse_args()
args.func(args)
那一片橙海, 2024-12-12 13:57:03

在我看来,您想将 help 定义为另一个子解析器。我天真地说,您可以将其链接到 print_help() 函数,该函数将复制标准 --help 的输出,但我想知道是否有一种方法可以调用本机 help()功能。

It seems to me that you want to define help as another subparser. I would naively say that you could then link it to a print_help() function that would copy the output of your standard --help, but I wonder if there is a way to call the native help() function.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文