首页
学习
活动
专区
圈层
工具
发布

「Python实用秘技01」复杂zip文件的解压

❝本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills ❞ 这是我的新系列文章「Python实用秘技」...的第1期,本系列立足于笔者日常工作中使用Python辅助办公的心得体会,每一期为大家带来一个3分钟即可学会的简单小技巧。...作为系列第1期,我们即将学习的是:复杂zip文件的解压。...废话不多说,直接看问题,使用过Python中的标准库zipfile解压过zip格式压缩包的朋友们,可能遇到过,当压缩文件中的目录或文件名中包含中文等常见unicode字符时,典型如下面的例子: 使用zipfile...(target_path, recode(file_or_path)), 'wb') as z: # 这里基于Zipfile.open()提取文件内容时需要使用原始的乱码文件名

71310
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    「Python实用秘技01」复杂zip文件的解压

    本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills   这是我的新系列文章「Python实用秘技」的第...1期,本系列立足于笔者日常工作中使用Python辅助办公的心得体会,每一期为大家带来一个3分钟即可学会的简单小技巧。   ...作为系列第1期,我们即将学习的是:复杂zip文件的解压。   ...废话不多说,直接看问题,使用过Python中的标准库zipfile解压过zip格式压缩包的朋友们,可能遇到过,当压缩文件中的目录或文件名中包含中文等常见unicode字符时,典型如下面的例子:   使用...(target_path, recode(file_or_path)), 'wb') as z: # 这里基于Zipfile.open()提取文件内容时需要使用原始的乱码文件名

    1K50

    使用 zipfile 解压含有中文文件名的 zip 文件

    问题 在使用 Python 内置标准库 zipfile 解压文件时,如果压缩文件中有的文件含有中文,那么解压后就会发现文件名中的中文部分是乱码。...例如我分别新建三个 txt 文件:文件1.txt,文件2.txt 和 文件3.txt,然后将这三个文件压缩到一个名为 文件.zip 的压缩文件中。...然后我们使用下面的代码来解压: import zipfile with zipfile.ZipFile('文件.zip', 'r') as f: f.extractall() 解压的结果如图所示...有两种解决方案,两种方案都是使用 extract 方法而不是 extractall方法,都是对压缩文件内的文件名进行遍历,逐个解压。...使用正确的文件名重命名解压的文件。 对应的代码如下,这里使用了 pathlib 库,强烈推荐该库!

    5.6K90

    linux .zip文件 解压缩命令的简单使用

    windows系统下常见的压缩格式有 .zip .rar linux系统下 常见的 压缩格式有 .zip .gz .bz2 .tar.gz .tar.bz2 下面我来简单的介绍一下 linux...系统下 zip压缩命令的使用方法 .zip 压缩命令的使用方法 .zip 的使用方法非常的简单 使用 zip 命令即可 压缩文件 格式为 zip 压缩文件名 源文件 如图 mywork...目录下 有 a11.txt a1.txt a2.txt b.txt c.txt 等文件 下面我们压缩一下 a11.txt 使用命令 zip a11.txt.zip a11.txt 即可压缩成功...zip 命令还可以用来压缩目录的 压缩目录 格式为 zip 压缩文件名 源目录 如下图 我们将要压缩 mywork 目录 使用 命令 zip -r mywork.zip mywork...即可压缩成功 .zip 解压命令的使用方法 解压命令 格式为 unzip 压缩文件名 如图我删除 mywork 目录 如何使用 unzip mywork.zip 即可把文件解压 发布者

    3.5K20

    ZIP和RAR文件的不同

    生活中我们经常需要使用电脑与朋友之间的文件传送,但往往会受到文件大小的限制而无法发出去,此时需要将文件压缩后再发送,那么有小伙伴会问rar和zip又有什么区别?...ZIP和RAR是最流行的文件格式,用来压缩数据。他们无疑是压缩文件的王者。 虽然二者都使用超快压缩算法来压缩和解压缩的内容,但从速度和效率上来说,RAR的效率要高于ZIP。...压缩文件格式rar和zip的不同 1、zip的起源比rar要早很多,并且它的普及率比后者更广。操作系统对zip直接支持解压提取文件,其应用范围比rar要好得多。...举例来说,你要将一大堆图片压缩后发送给朋友,通常会优先采用压缩压缩的格式。由于不知道对方是否已经安装了类似WinRAR这样的解压工具。而且,使用zip格式完全不必担心这个问题。...2、文件压缩简介:简单的经过压缩的文件被压缩为压缩文件,压缩的原理是将文件的二进制代码压缩。rar和zip是通用压缩文件格式。 3、众所周知,zip是开源软件,而rar是收费的。

    4K30

    BobTheSmuggler:基于HTML Smuggling技术创建包含嵌入式压缩文档的HTML文件

    工具运行的流程 该工具的运行流程和执行机制如下图所示: 当前版本的BobTheSmuggler支持下列Payload交付链: 1、.EXE/.DLL --> .7z/.Zip (受密码保护) --> ....JS --> .HTML 2、.EXE/.DLL --> .7z/.Zip (受密码保护) --> .JS --> .SVG --> .HTML 3、.EXE/.DLL --> .7z/.Zip (受密码保护...) --> .PNG/.GIF --> .JS --> .HTML 4、.EXE/.DLL --> .7z/.Zip (受密码保护) --> .PNG/.GIF --> JS --> .SVG -->...; 5、直观的界面:提供了易于使用的命令行界面,使技术型和非技术型用户都可以轻松使用它; 6、可视化验证:提供了针对PNG文件的可视化工具,允许用户以可视化方法确认数据是否嵌入成功; 工具要求 在运行该工具之前...工具使用样例 将SharpHound.exe压缩为7z格式(受密码保护),并存储到一个HTML文件中: python3 BobTheSmuggler.py -i path/to/SharpHound.exe

    1.2K10

    Python:zip 函数的用法

    zip() 接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个 tuple,然后返回由这些 tuple 组成的 list。...Python3.0开始,zip()函数已经不返回 list 了,而是返回 iterable(可迭代对象)。这个可迭代对象需要特别注意,只能进行一次迭代遍历,第二次遍历就是空了。这个坑了我一个多小时。...), (2, 5), (3, 6)] # zip()之后的结果只能“使用一次” # zip()实际上是一个生成器对象,故使用list()获取zip()结果时,已经相当于是完成一次迭代遍历 # 第二次再次使用..., (3, 6)],以短的为准 _ac = zip(*ac) # 与 zip 相反,可理解为解压,返回二维矩阵式 print(list(_ac)) # [(1, 2, 3), (7,...8], [3, 6, 9]], map()函数把zip(*a)后的每一个元素转化为list

    1.5K20

    读取设置密码保护的excel文件,有没有更好的办法?

    大家好,我是Python进阶者。 一、前言 前几天在Python最强王者交流群【wen】问了一个Python处理Excel加密文件读取问题。...问题如下: 请教:读取设置了密码保护的exlce文件,df = pd.read_excel(file,password='12345678') 报错:got an unexpected keyword...,其实不同,这里【巭孬】指出粉丝的代码是生成新文件再读取,瑜亮老师的是直接从内存里面读取,不用生成新文件。...顺利地解决了粉丝的问题。 三、总结 大家好,我是Python进阶者。...这篇文章主要盘点了一个Python处理Excel加密文件读取的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

    1.6K10

    zip文件加密的几种破解方法

    一、使用ZipCenOp.jar(需要java环境),在cmd中使用 java -jar ZipCenOp.jar r xxx.zip 成功后压缩包可以直接打开 ZipCenOp.jar 链接: https...,但是有时不行,第三种方法可以应对各种zip伪加密 还是要密码,那我们只好使用杀手锏了,请看第三种方法 三、修改文件头的加密标志位 一个zip文件由三个部分组成: 压缩源文件数据区+压缩源文件目录区+...压缩源文件目录区:50 4B 01 02:目录中文件文件头标记 3F 00:压缩使用的 pkware 版本 14 00:解压文件所需 pkware 版本 00 00:全局方式位标记(有无加密,这个更改这里进行伪加密...注:全局方式位标记的四个数字中只有第二个数字对其有影响,其它的不管为何值,都不影响它的加密属性!...:本磁盘上纪录总数 01 00:目录区中纪录总数 59 00 00 00:目录区尺寸大小 3E 00 00 00:目录区对第一张磁盘的偏移量 00 00 1A:ZIP 文件注释长度 我们用winhex

    33K30

    一小段Python代码,破解加密zip文件的密码

    ---- 大家好,欢迎来到 Crossin的编程教室 ! 今天的文章来自 盏茶作酒 同学。他在老电脑中发现了一个加密的 zip 文件,于是用 Python 破解了文件密码。...---- 之前在家里的老电脑中,发现一个加密zip压缩包,由于时隔太久忘记密码了,依稀记得密码是6位字母加数字,网上下载了很多破解密码的软件都没有效果,于是想到自己用Python写一个暴力破解密码的脚本...Python 有一个内置模块 zipfile 可以解压 zip 压缩包。先来测试一波:创建一个测试文件,压缩,设置解压密码为123。 ?...import zipfile # 创建文件句柄 file = zipfile.ZipFile("测试.zip", 'r') # 提取压缩文件中的内容,注意密码必须是bytes格式,path表示提取到哪...于是,为了找寻问题所在,我就去查看了一下源码,发现ThreadPoolExecutor默认使用的是无界队列。而程序中尝试密码的速度跟不上生产密码的速度,就会把生产任务无限添加到队列中。导致内存被占满。

    9.5K20

    Python 技术篇-用zipfile库进行zip文件的压缩与解压实例演示,python压缩本地文件夹为zip文件并保留目录结构

    首先给大家演示下 zip 文件的解压方法。...(p, path_aim) z.close() # 要解压的zip文件路径 path_zip = r'D:\lizhi\压缩测试\chromedriver_win32.zip' # 要解压到的位置...这是压缩包解压后的样式。 然后给大家看下 zip 文件的压缩过程,我的压缩方法可以直接压缩文件在当前目录下,并不把自己压缩进来,而且可以保留原来文件夹的目录结构。...= r'D:\lizhi\压缩测试' # 压缩到指定路径下的zip文件 path_zip = r'D:\lizhi\压缩测试\chromedriver_win32.zip' # 压缩文件 file_to_zip...(path_original, path_zip) 我把之前的压缩包删掉了,用那个 driver 文件夹重新进行压缩的,现在看到的是新生成的。

    2.1K10

    常见ZIP密码找回工具

    zip文件是我们工作和生活中常见的工具。有时为了安全,我们会给文件添加密码。可是时间久了,密码也忘记了。本文为大家收集了一些好用的zip密码恢复工具。希望对大家有所帮助。...ZIP-Password-BruteForcer 优点: 支持跨平台 快速 高效。 缺点: 仅支持字典破解。 使用: 在Linux中我们可以使用下面命令安装和使用。需要提前部署python环境。...ZipRipper 是一个 CMD 脚本,用于使用 JohnTheRipper 破解受密码保护的 ZIP、RAR、7z 和 PDF 文件。...利用多个线程来加快进程 字典攻击,用于测试字典文本文件中的密码(每行一个单词) 暴力破解为给定字符集和密码长度范围生成所有密码 部署:我们可以直接在Releases中,根据系统类型下载。 使用: ....,无需使用 7zip 或 Winrar 等单独的程序来提取受密码保护的 Zip 文件,这使得它的速度大大提高。

    2.1K10

    Python——实用的enumerate和zip

    而使用zip,可以同时解决以上两个问题。...xiaoli student 上面举的例子当中,names和jobs的长度其实是不一致的,在使用了zip的情况下,会自动替我们按照其中较短的那个进行截断。...如果我们不希望截断,我们也可以使用itertools下的zip_longest来代替zip: from itertools import zip_longest for name, job in zip_longest...然而使用zip,我们可以将这个操作简化到一行代码: jobDict = dict(zip(names, jobs)) 需要注意的是,我们调用zip返回的结果其实是一个迭代器,我们在转化成dict的时候自动遍历了迭代器当中的内容...但是Python之所以是Python,之所以很多人称道它简洁的语言和逻辑,离不开我们广泛地使用这些简化代码逻辑的工具和方法。

    95530
    领券