我使用优秀的Python Click库来处理我的工具中的命令行选项。这是我的代码的简化版本(此处为完整脚本):
@click.command(
context_settings = dict( help_option_names = ['-h', '--help'] )
)
@click.argument('analysis_dir',
type = click.Path(exists=True),
nargs = -1,
required = True,
metavar = "<analysis directory>"
)
def mytool(analysis_dir):
""" Do stuff """
if __name__ == "__main__":
mytool()
如果有人在没有任何标志的情况下运行命令,他们会收到默认的单击错误消息:
$ mytool
Usage: mytool [OPTIONS] <analysis directory>
Error: Missing argument "analysis_dir".
这很好,但我很想告诉(非常)新手用户,使用帮助标志可以获得更多帮助。换句话说,当命令无效时,在错误消息中添加一个自定义语句,告诉人们尝试mytool --help
获取更多信息。
是否有捷径可寻?我知道我可以删除该required
属性并在主函数中处理这个逻辑,但是对于这样一个小添加感觉有点hacky。