docopt in python3 参数定义
docopt in python3 argumentes definitions
我正在尝试使用 docopt。
我想这样调用我的程序:
python3 my_script -p argum1 -d argum2 -u faculm
-u 不是必需的,但“-p”和“-d”是必需的。
i have allready made this:
"""
Usage:
passwdcrack.py -p=<password>,
passwdcrack.py -d=<dicionario>
passwdcrack.py [-u=<user>]
Options:
-h --help mostra este ecrã
--version Mostra a versão
-p=<password> indicar o caminho para o ficheiro tipo */etc/shadow
-d=<dicionario> indicar o caminho para o ficheiro com lista de Passw
-u=<user> indica o utilizador para ser analisado
"""
import docopt
if __name__ == '__main__':
arguments = docopt.docopt(__doc__, version='0.0001')
print (arguments)
但是当我调用它时,它给了我这个:
$ python3 passwdcrack.py -d papa -d pfpf -u madona Traceback (most
recent call last): File "passwdcrack.py", line 17, in
arguments = docopt.docopt(doc, version='0.0001') AttributeError: 'module' object has no attribute 'docopt'
有人可以帮助我吗?
谢谢
您的路径中某处有一个名为 docopt.py
的文件正在导入,而不是实际的 docopt 模块。您需要找到它并重命名或删除它。
我知道了。 Docopt 对 space 和制表符非常挑剔。
事情是这样的。
"""
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
"""
注意 space。在选项中缩进是 2 spaces -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"
}
我正在尝试使用 docopt。
我想这样调用我的程序:
python3 my_script -p argum1 -d argum2 -u faculm
-u 不是必需的,但“-p”和“-d”是必需的。
i have allready made this:
"""
Usage:
passwdcrack.py -p=<password>,
passwdcrack.py -d=<dicionario>
passwdcrack.py [-u=<user>]
Options:
-h --help mostra este ecrã
--version Mostra a versão
-p=<password> indicar o caminho para o ficheiro tipo */etc/shadow
-d=<dicionario> indicar o caminho para o ficheiro com lista de Passw
-u=<user> indica o utilizador para ser analisado
"""
import docopt
if __name__ == '__main__':
arguments = docopt.docopt(__doc__, version='0.0001')
print (arguments)
但是当我调用它时,它给了我这个:
$ python3 passwdcrack.py -d papa -d pfpf -u madona Traceback (most recent call last): File "passwdcrack.py", line 17, in arguments = docopt.docopt(doc, version='0.0001') AttributeError: 'module' object has no attribute 'docopt'
有人可以帮助我吗? 谢谢
您的路径中某处有一个名为 docopt.py
的文件正在导入,而不是实际的 docopt 模块。您需要找到它并重命名或删除它。
我知道了。 Docopt 对 space 和制表符非常挑剔。
事情是这样的。
"""
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
"""
注意 space。在选项中缩进是 2 spaces -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"
}