首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用Python docopt库检索文件名

无法使用Python docopt库检索文件名
EN

Stack Overflow用户
提问于 2015-08-22 20:32:04
回答 1查看 308关注 0票数 0

我正在阅读“暴力Python”一书,其中一个例子是zip文件破解器,它针对zip文件测试一个包含潜在密码(文本文件)的字典文件。

我试图使用docopt库来解析命令行,并给出这两个文件的文件名。这是我的密码。

代码语言:javascript
复制
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
Basic zip bruteforcer

Usage:
  your_script.py (-f <file>) (-z <zip> )
  your_script.py -h | --help

Options:
  -h --help     Show this screen.
  -f --file     specify dictionary file. (Required argument)
  -z --zip      specify zip file.(Required argument)
  -t --thread   Thread count. (Optional)
  -v --verbose  Turn debug on. (Optional)
"""
from docopt import docopt
import zipfile
from threading import Thread

def extractzip(zfile, password):
    try:
        zfile.extractall(pwd = password)
        print 'password found: ', password
    except:
        return

def main():
    zfile = zipfile.ZipFile(zip)
    with open(file, 'r') as pass_file:
        for line in pass_file.readlines():
            password = line.strip('\n')
            t = Thread(target = extractzip, args = (zfile, password))
            t.start()  

if __name__ == "__main__":
    arguments = docopt(__doc__, version='0.1a')
    extractzip(arguments['<file>'], ['<zip>'])

这是我的密码。

EN

回答 1

Stack Overflow用户

发布于 2015-08-23 10:58:26

你可以做这样的事

代码语言:javascript
复制
  print arguments['<file>']

以获取文件名,以及类似的zip文件。我个人还没有使用extractzip,也不确定它是如何工作的。但是由于参数只是一个列表,所以您可以通过直接访问所需的索引来轻松地获取值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32160487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档