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) 

はオプションで、スクリプトが停止しない理由ので、デフォルトを持っていますか?

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は、使用部分の最初の文字列は、プログラム、およびないのpythonであることを期待しています。だから、docoptはこれをあなたのプログラムであるpython3と解釈し、常にwebserver.pyと呼ばれるコマンドを受け取ります。我々が持っているdocopt's documentationから

Usage: 
    webserver.py [options] 

:キーワードの使用の間

テキストoccuring:(大文字と小文字を区別しない)と目に見えて空行は次のように解釈されますがpython3一部を削除した場合、それは次のように正常に動作する必要があります使用パターンのリスト使用後の最初の単語は、プログラムの名前として解釈されます。

関連する問題