Python 在docopt中使用多个参数
我正在尝试使用docopt,以便用户可以进行如下输入:Python 在docopt中使用多个参数,python,python-3.x,docopt,Python,Python 3.x,Docopt,我正在尝试使用docopt,以便用户可以进行如下输入: python3 -p argum1 -d argum2 [-u arg_facul] 参数argum1和argum不能是位置参数;前两个参数是必需的,第三个是可选的 我已经有了这个: """ Usage: pyprogram.py (-p PASS | --pass=PASS) (-d DICT | --dict=DICT) [-u USER --user=USER] Arguments:
python3 -p argum1 -d argum2 [-u arg_facul]
参数argum1和argum不能是位置参数;前两个参数是必需的,第三个是可选的
我已经有了这个:
"""
Usage:
pyprogram.py (-p PASS | --pass=PASS) (-d DICT | --dict=DICT) [-u USER --user=USER]
Arguments:
Options:
-p demand argument 1
-d demand argument 2
-u may have this agrument or not
"""
输出为:
...$ python3 pyprogram.py -d dict.txt -p passwd.txt -u root
{'--dict': None, '--pass': None, '-d': True, '-p': True, '-u': True, 'DICT': 'passwd.txt', 'PASS': 'dict.txt', 'USER': 'root'}
我希望输出是:
... $ python3 pyprogram.py -d dict.txt -p passwd.txt -u root
{'--dict': None, '--pass': None, '-d': True, '-p': True, '-u': True, 'DICT': 'dict.txt', 'PASS': 'passwd.txt', 'USER': 'root'}
我已经离开了。
Docopt对太空蚂蚁标签非常挑剔
这就是未来的情况
"""
Usage:
passcrack_end.py -p <passw> -d <dic> [-u <user>]
Arguments:
<passw> ficheiro onde se encontram as passwords encriptadas - shadow
<dic> ficheiros com o dicionario das possiveis palavras passe
<user> Utilizador para o qual quer encontrar a password
Option:
-p pp opção obrigatória
-d dd opção obrigatória
-u uu campo facultativo
"""
输出将是:
{
"-d": "derivation",
"-p": "panto",
"-u": "ume"
}
如果使用以下参数调用程序:
-d derivation -p panto -u ume
-p panto -u ume -d derivation
输出将是相同的:
{
"-d": "derivation",
"-p": "panto",
"-u": "ume"
}
你考虑过使用argparse吗?我必须使用docopt。。。人们告诉我docopt比argparse更干净,线条更少,更容易…问题是你在这里暗示和排序。因此,在通过考试后,必须提交口述。这就是为什么你没有得到你想要的订单。所以我可以这样做,这样我就不会让你把args整理好了?