0
docopt
モジュールをPythonで使用して、スクリプトのコマンドライン引数を解析しようとしています。このスクリプトは直接呼び出すこともできますし、PyInstallerでビルドされた.exeを介して呼び出すこともできます。私は(多くは私が離れて省略されていることを、ここでのオプションは、より多くの相互に排他的であることに注意してください)プログラムが呼び出された方法に基づいて異なっている、使用状況セクションでプログラムの実際の名前を使用したい:Pythonのdocoptで実際にプログラムを呼び出す方法は?
> py script.py
Usage:
script.py -foo <foo>
script.py -bar <bar>
...
> dist/script.exe
Usage:
dist/script.exe -foo <foo>
dist/script.exe -bar <bar>
...
は私がdocoptに渡された文字列に.format()
を使用してこれを行うことができますが、これは醜い取得し、モジュールのドキュメンテーション文字列としてオプションを指定しないように:
doc = """
Usage:
{} -foo <foo>
{} -bar <bar>
...
""".format(sys.argv[0], sys.argv[0])
args = docopt(doc, ...)
は、より良い方法はありますか?