내 도구에서 명령 행 옵션을 처리 할 때 훌륭한 Python Click 라이브러리를 사용합니다. 여기에 내 코드의 단순화 된 버전 (전체 스크립트 here은)입니다 :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
속성을 제거하고 주 기능에서이 논리를 처리 할 수 있다는 것을 알고 있지만, 그러한 사소한 추가에 대해 일종의 해킹을 느낀다.
정확히 같은 문제가 있습니다. 실수로 실수로 도움이 필요하면 자동으로 도움말을 출력하거나 사용자에게 도움을받는 방법을 알려줍니다. 그렇지 않으면 우리는 도구를 사용하는 모든 사람들이 유닉스 기반 사고에 익숙하다고 가정해야합니다. 나는 지금까지 클릭하는 것을 좋아하지만 초심자가 쉽게 사용할 수있는 도구를 만드는 데 도움이 될 것이기 때문에이 질문에 답을 얻지 못했다는 것을 낙담하게합니다. – user1677663
그냥 해결책이 될 수있는 이걸 찾았습니다. http://stackoverflow.com/questions/35642202/python-click-return-the-helper-menu – user1677663
아니, 그건 작동하지 않았다. – user1677663