我正在尝试使用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:
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'}
答案 0 :(得分:0)
我已经出局了。 关于太空蚂蚁标签,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
"""
留意空间。在选项中,缩进是 2个空格-d
如果你用这个论点来调用程序:
-d derivation -p panto -u ume
输出将是:
{
"-d": "derivation",
"-p": "panto",
"-u": "ume"
}
如果你用这个论点来调用程序:
-p panto -u ume -d derivation
输出将是相同的:
{
"-d": "derivation",
"-p": "panto",
"-u": "ume"
}