3
我使用docopt
來解析python中的命令行輸入。我有我的文檔字符串:在docopt中執行重複元素時遇到困難
"""
Usage:
docoptTest.py [options]
Options:
-h --help show this help message and exit
-n --name <name> The name of the specified person
"""
於是我進口docopt並解析參數,並打印出來:
from docopt import docopt
args = docopt(__doc__)
print(args)
>>> python docoptTest.py -n asdf
{'--help': False,
'--name': 'asdf'}
我試圖把省略號以允許輸入多個名稱:
-n --name <name>... The name of the specified person
但是我收到了一個使用錯誤。然後我把橢圓形的初始用法消息:
"""
Usage:
docoptTest.py [-n | --name <name>...] [options]
Options:
-h --help show this help message and exit
-n --name The name of the specified person
"""
但輸出認爲--name
是一個標誌。
>>> python docoptTest.py -n asdf asdf
{'--help': False,
'--name': True,
'<name>': ['asdf', 'asdf']}
我該如何解決這個問題?
謝謝。這個問題是基本的問題嗎(不管它是一個參數還是一個值)都是模糊的,還是我可以用選項描述來做其他事情? – PolarBearITS
我覺得你可以做的並不多。之後你可以自行拆分。你可以使''asdf''作爲一個參數,通過使用'''作爲一個參數,並且自己分割它。我認爲docopt遵循開放組對utilites的規範:http://pubs.opengroup.org/onlinepubs /007908799/xbd/utilconv.html。這並沒有描述如何處理雙短劃線選項,但這些可能是根據最佳實踐來處理的。 –