반응형
질문
다음과 같은 argparse 스니펫이 있다고 가정해 봅시다:
diags.cmdln_parser.add_argument( '--scan-time',
action = 'store',
nargs = '?',
type = int,
default = 5,
help = "Wait SCAN-TIME seconds between status checks.")
현재, --help
는 다음과 같이 반환됩니다:
usage: connection_check.py [-h]
[--version] [--scan-time [SCAN_TIME]]
Test the reliability/uptime of a connection.
optional arguments:
-h, --help 도움말을 표시하고 종료
--version 프로그램의 버전 번호를 표시하고 종료
--scan-time [SCAN_TIME]
상태 확인 사이에 SCAN-TIME 초를 대기합니다.
다음과 같이 원합니다:
--scan-time [SCAN_TIME]
상태 확인 사이에 SCAN-TIME 초를 대기합니다.
(기본값 = 5)
도움말 포매터 코드를 엿보면 제한된 옵션이 있음을 알 수 있습니다. argparse
를 사용하여 --scan-time
의 기본값을 비슷한 방식으로 출력하는 똑똑한 방법이 있는지, 아니면 help
포매터를 서브클래스화해야 하는지 알고 싶습니다.
답변
아래의 HTML을 한국어로 번역하되, HTML 태그와 태그 안의 텍스트는 영어로 보존하십시오.
parser = argparse.ArgumentParser(
# ... other options ...
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
문서를 인용하면 다음과 같습니다.
다른 사용 가능한 포매터 클래스인
ArgumentDefaultsHelpFormatter
는 각 인수의 기본값에 대한 정보를 추가합니다.
이는 도움말 텍스트가 정의된 인수에만 적용됨을 유의하십시오; 인수에 대한 help
값이 없으면 기본값에 대한 정보를 추가할 도움말 메시지가 없습니다.
그럼으로써 스캔 시간 옵션의 정확한 출력은 다음과 같습니다:
--scan-time [SCAN_TIME]
상태 확인 사이에 SCAN-TIME 초 동안 대기합니다.
(기본값: 5)
반응형
댓글