2016-12-22 3 views
1

내가 인수 구문 분석을 통과하도록 관리 할 수 ​​없습니다 지금 새 스크립트에 몇 시간 동안 docopt를 사용매개 변수를 구문 분석 한 후 docopt가 스크립트를 종료하는 이유는 무엇입니까?

# coding=utf-8 
""" 
API server for the infoscreen frontends 

Usage: 
    python3 webserver.py [options] 

Options: 
    --bind ADDRESS address to bind to [default: 0.0.0.0] 
    --galarmclock URL URL for the galarmclock API [default: http://10.100.10.202:8082] 
    --loglevel LOG logging level [default: logging.DEBUG] 
    --console log to console [default: False] 
    --syslog log to syslog [default: False] 

""" 

import docopt 

# process arguments 
args = docopt.docopt(__doc__) 
print(args) 

모든 paramters (인수)는 선택 사항이며 스크립트가 중지 않는 이유를 이렇게 기본이?

C:\Python3\python.exe C:/tst.py 
Usage: 
    python3 webserver.py [options] 

Process finished with exit code 1 

답변

1

문제는 사용 부분에있다 :

Usage: 
    python3 webserver.py [options] 

Docopt가 사용 부분에있는 첫 번째 문자열은 프로그램, 그리고 파이썬이 될 것으로 기대하고있다. 따라서 docopt는 이것을 여러분의 프로그램 인 python3으로 해석하고 항상 webserver.py이라는 명령을 취합니다. 당신이 python3 부분을 제거하는 경우는 다음과 같이 잘 작동합니다 : docopt's documentation에서

Usage: 
    webserver.py [options] 

은 우리가 가진 : 키워드의 사용 사이

텍스트 발생하는 (대소 문자 구분)과 눈에 띄게 빈 줄은 다음과 같이 해석됩니다 사용 패턴 목록. 사용 후 첫 번째 단어는 프로그램의 이름으로 해석됩니다.