gpt4 book ai didi

python argparse 在描述后打印用法文本

转载 作者:太空狗 更新时间:2023-10-29 18:29:42 25 4
gpt4 key购买 nike

有没有办法用 python argparse 在描述文本之后打印用法文本?我有我的 cmd 行 argparse 工作,但我想在使用信息之前打印版本信息。

编辑:

version: 1.0

usage: blahcmd [-h] [-help]

some lovely help

最佳答案

argparse 模块不提供任何添加“prolog”的选项。显示帮助时,它总是usage: 开头。您可以做的最好的事情是使用 usage 自定义使用文本添加版本号。实例化 ArgumentParser 时的参数:

import argparse

parser = argparse.ArgumentParser(usage='Any text you want\n')

请注意,帮助仍将以 usage: 开头。

一个可能有效的变通方法是使用 \r 启动 usage 消息:

>>> import argparse
>>> usage = '\r{}\nusage: %(prog)s etc.'.format('Version a b'.ljust(len('usage:')))
>>> parser = argparse.ArgumentParser(usage=usage)
>>> parser.parse_args(['-h'])
Version a b
usage: etc.

optional arguments:
-h, --help show this help message and exit

我不认为 \r 的这种用法是可移植的。可能在某些终端上此技巧不起作用。我已经 ljust 编辑了版本字符串,以确保当技巧起作用时,整个 usage: 字符串从字符串中消失,您不会得到像 这样的东西v1.2e: 使用短版本字符串时。

注意:您现在必须手动创建整个 usage 文本。

关于python argparse 在描述后打印用法文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22382568/

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