草庐IT

ArgumentDefaultsHelpFormatter

全部标签

python - Argparse 和 ArgumentDefaultsHelpFormatter。选择 sys.stdin/stdout 作为默认值时的默认值格式

我对使用argparse的ArgumentDefaultsHelpFormatter类格式化程序很感兴趣(我的程序有几个子命令)。默认情况下,输入和输出参数分别设置为sys.stdin和sys.stdout。但是,这两个参数的格式可能会让用户有点困惑(例如(默认值:',mode'r'at0x10028e0c0>)。有没有一种方法可以专门轻松地更改这两个参数的输出格式以获得像“默认:STDIN”或“默认:STDOUT”之类的东西?谢谢importsysimportargparseparser=argparse.ArgumentParser(prog='PROG',formatter_cl

python - ArgumentParser 结语和描述格式与 ArgumentDefaultsHelpFormatter 结合使用

我正在使用argparse接受命令行输入并生成帮助文本。我想使用ArgumentDefaultsHelpFormatter作为formatter_class,但是这会阻止我也使用RawDescriptionHelpFormatter这将允许我添加自定义格式到我的描述或结语。除了自己编写代码来为默认值生成文本之外,是否还有一种明智的方法来实现这一点?根据argparse文档,ArgumentParser的所有内部结构都被视为实现细节,而不是公共(public)API,因此子类化不是一个有吸引力的选择。 最佳答案 我刚刚尝试了一种多重继