0
我試圖在Python中使用docopt
模塊來解析腳本的命令行參數。這個腳本可以直接調用,也可以通過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, ...)
有沒有更好的辦法?