3
argparse 도움말의 출력에 pydoc을 표시하는 것에 대한 질문을 보았습니다. 그러나 나는 그 반대의 점을 보지 못했습니다.pydoc 내 argparse 도움말 표시
pydoc에서 파이썬 프로그램의 개요 및 항목 별 도움말 설명을 자동으로 렌더링 할 수있는 방법이 있습니까?
argparse 도움말의 출력에 pydoc을 표시하는 것에 대한 질문을 보았습니다. 그러나 나는 그 반대의 점을 보지 못했습니다.pydoc 내 argparse 도움말 표시
pydoc에서 파이썬 프로그램의 개요 및 항목 별 도움말 설명을 자동으로 렌더링 할 수있는 방법이 있습니까?
format_help()
방법으로 도움말 문자열에 액세스 할 수 있습니다. 이를 사용하여 스크립트의 문서 문자열에 추가 할 수 있습니다. 하나의 간단한 예 :
"""
This is my script.
"""
import argparse
def _make_parser():
p = argparse.ArgumentParser()
p.add_argument("foo", help="Specify foo")
x = p.add_mutually_exclusive_group(required=True)
x.add_argument('--uid')
x.add_argument('--username')
return p
_p = _make_parser()
__doc__ += _p.format_help()
if __name__ == '__main__':
args = _p.parse_args()
나는 이와 같은 것이 작동하는지 궁금해했지만 작동시키지 못했습니다. 한 가지는, 만약 main()에 정의 된 argparse를 가지고 있다면, pydoc에 여분의 것을 보지 않고 테스트 프로그램의 주요 범위에서 정의한다면, 'pydoc test_docs.py'를 실행하십시오. 왜냐하면 pydoc이 실행될 때 필요한 모든 인수가 존재하지 않기 때문입니다 :'jazz % pydoc ./test_docs.py 사용법 : pydoc [-h] [--file FILE] (--uid | - -username) ... pydoc : 오류 : 인수 중 하나 --uid - 사용자 이름이 필요합니다../test_docs.py - : 2' –
Will
에 문제가 있습니다. 'main' 함수에서 여전히'parse_args'를 호출 할 수는 있지만, 파서 객체가 가져 오기 (import)시에 정의되었는지를 확인하십시오. – chepner
전역 범위의 모든 항목에도 불구하고 위의 오류가 계속 발생합니다. 즉, 프로그램의 사용법을 구축하는 것보다는 프로그램이 실행되는 것처럼 인수를 구문 분석하려고합니다. – Will