반응형
파이썬 파일을 실행할 때 어떻게 독 스트링을 인쇄 할 수 있습니까?
독 스트링이있는 Python 스크립트가 있습니다. 명령 줄 인수의 구문 분석이 성공하지 못하면 사용자 정보에 대한 독 스트링을 인쇄하고 싶습니다.
이것을 할 방법이 있습니까?
최소한의 예
#!/usr/bin/env python
"""
Usage: script.py
This describes the script.
"""
import sys
if len(sys.argv) < 2:
print("<here comes the docstring>")
독 스트링은 모듈의 __doc__
전역에 저장됩니다 .
print(__doc__)
그건 그렇고, 이것은 모든 모듈에 적용 import sys; print(sys.__doc__)
됩니다. 함수 및 클래스의 독 스트링도 해당 __doc__
속성에 있습니다.
다음은 스크립트의 파일 이름을 하드 코딩하지 않고 대신 sys.argv [0]을 사용하여 인쇄하는 대안입니다. % s 대신 % (scriptName) s를 사용하면 코드의 가독성이 향상됩니다.
#!/usr/bin/env python
"""
Usage: %(scriptName)s
This describes the script.
"""
import sys
if len(sys.argv) < 2:
print __doc__ % {'scriptName' : sys.argv[0].split("/")[-1]}
sys.exit(0)
인수 구문 분석은 항상 argparse
.
Argparse __doc__
의 description
매개 변수 에 전달 하여 문자열을 표시 할 수 있습니다 .
#!/usr/bin/env python
"""
This describes the script.
"""
if __name__ == '__main__':
from argparse import ArgumentParser
parser = ArgumentParser(description=__doc__)
# Add your arguments here
parser.add_argument("-f", "--file", dest="myFilenameVariable",
required=True,
help="write report to FILE", metavar="FILE")
args = parser.parse_args()
print(args.myFilenameVariable)
이 mysuperscript.py 를 호출 하고 실행하면 다음을 얻을 수 있습니다.
$ ./mysuperscript.py --help
usage: mysuperscript.py [-h] -f FILE
This describes the script.
optional arguments:
-h, --help show this help message and exit
-f FILE, --file FILE write report to FILE
나는 그런 문제를 가지고 웹을 걸어 다행스럽게도 답을 찾고 sys
모듈을 배우고 Python 으로 스크립트를 만들었 습니다.
if __name__=='__main__':
if len(sys.argv)==2 and sys.argv[1]=='--help':
print(__doc__)
입력 ./yourscriptname.py --help
하거나 python3 yourscriptname.py --help
독 스트링을 표시합니다.
반응형
'Nice programing' 카테고리의 다른 글
grep 및 sed를 사용하여 문자열 찾기 및 바꾸기 (0) | 2020.11.08 |
---|---|
PyQt 또는 PySide-사용할 항목 (0) | 2020.11.08 |
Task에서 예외를 포착하는 가장 좋은 방법은 무엇입니까? (0) | 2020.11.08 |
golang에서 맵에서 값 조각을 얻는 좋은 방법이 있습니까? (0) | 2020.11.08 |
빌드 이벤트 명령 줄에 주석을 추가하는 올바른 방법은 무엇입니까? (0) | 2020.11.07 |