Python中zipfile压缩文件模块的使用
目录
利用 zipfile 模块破解压缩文件口令:Python脚本破解压缩文件口令
zipfile
Python 中 zipfile 模块提供了对 zip 压缩文件的一系列操作。
f=zipfile.ZipFile("test.zip",mode="") //解压是 r , 压缩是 w 追加压缩是 a
mode的几种:
- 解压:r
- 压缩:w
- 追加压缩:a
压缩一个文件
创建一个压缩文件 test.zip(如果test.zip文件不存在) ,然后将 test.txt 文件加入到压缩文件 test.zip 中,如果原来的压缩文件中有内容,会清除原有的内容
import zipfile
try:
with zipfile.ZipFile("c://users//17250//desktop//test.zip",mode="w") as f:
f.write("c://users//17250//desktop//test.txt") #写入压缩文件,会把压缩文件中的原有覆盖
except Exception as e:
print("异常对象的类型是:%s"%type(e))
print("异常对象的内容是:%s"%e)
finally:
f.close()
如果要压缩的文件的路径是 c://users//17250//desktop//test.txt 这样的话,
那么最后压缩文件里面压缩的就是 users//17250//desktop//test.txt 文件了

向已存在的压缩文件中追加内容
import zipfile
try:
with zipfile.ZipFile("c://users//17250//desktop//test.zip",mode="a") as f:
f.write("e://test.txt") #追加写入压缩文件
except Exception as e:
print("异常对象的类型是:%s"%type(e))
print("异常对象的内容是:%s"%e)
finally:
f.close()
虽然原文件里面压缩的文件的路径是 users//17250//desktop//test.txt ,但是追加进去的是 e://test2.txt 文件,那么test2.txt 文件压缩是在 users 那一级的目录。

解压文件
将test.zip文件解压
在python3中,解压文件的密码参数 pwd 接收的是二进制的值,所以要在前面加一个 b 。python2中接受的是str字符串的值。
import zipfile
try:
with zipfile.ZipFile("c://users//17250//desktop//test.zip",mode="a") as f:
f.extractall("c://users//17250//desktop//",pwd=b"root") ##将文件解压到指定目录,解压密码为root
except Exception as e:
print("异常对象的类型是:%s"%type(e))
print("异常对象的内容是:%s"%e)
finally:
f.close()
高级应用
zipfile.is_zipfile(filename)
判断一个文件是不是压缩文件
ZipFile.namelist()
返回文件列表
if zipfile.is_zipfile('test.zip'): #is_zipfile() 判断是否似zip文件
f = zipfile.ZipFile('test.zip')
files = f.namelist() #namelist() 返回zip压缩包中的所有文件
print(files)
f.close()
利用 zipfile 模块破解压缩文件口令:Python脚本破解压缩文件口令
Python中zipfile压缩文件模块的使用的更多相关文章
- Python脚本破解压缩文件口令(zipfile)
环境:Windows python版本2.7.15 Python中操作zip压缩文件的模块是 zipfile . 相关文章:Python中zipfile压缩文件模块的使用 我们破解压缩文件的口令也是用 ...
- Python中xlrd和xlwt模块使用方法 (python对excel文件的操作)
本文主要介绍可操作excel文件的xlrd.xlwt模块.其中xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入. 安装xlrd和xlwt模块 xlrd和xlwt模块不是 ...
- 【转】python的zipfile压缩、解压缩
网上搜索了很多关于python的zipfile压缩.解压缩.觉得讲述比较详细,例子也很明了.由于比较懒,就直接复制了. 以下内容大部分转于 http://blog.csdn.net/jgood/art ...
- python批量处理压缩文件
python批量处理压缩文件 博客小序:在数据的处理中,下载的数据很有可能是许多个压缩文件,自己一个一个解压较为麻烦,最近几日自己在处理一次下载的数据时,遇到大量的压缩数据需要处理,于是利用pytho ...
- python中__init__.py文件的作用
问题 在执行models.py时,报ImportError:No module named transwarp.db的错误,但明明transwarp下就有db.py文件,路径也没有错误.真是想不通.后 ...
- Python中os和shutil模块实用方法集…
Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...
- Python中os和shutil模块实用方法集锦
Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...
- python中执行该文件,就调用 mian 方法
代码: test.py import student def main(): st = student.student(1001, 'tommy', 18) st.sing() st.dance() ...
- python中的第三方日志模块logging
基本上每个系统都有自己的日志系统,可以使自己写的,也可以是第三方的.下面来简单介绍一下python中第三方的日志模块,入手还是比较简单的,但是也很容易给自己埋雷. 下面是我参考的资料链接 入手demo ...
随机推荐
- CNN结构演变总结(二)轻量化模型
CNN结构演变总结(一)经典模型 导言: 上一篇介绍了经典模型中的结构演变,介绍了设计原理,作用,效果等.在本文,将对轻量化模型进行总结分析. 轻量化模型主要围绕减少计算量,减少参数,降低实际运行时间 ...
- 1.5 PHP基础+1.5.1 访问数据库
PHP作为流行的网站开发语言,具有上手简单,运行速度快的特点,它和javascript类似,无需定义变量类型,免去了使用者要对变量类型转换的烦恼,当然了,这就要求我们要对变量类型隐式转换过程予以关注. ...
- [LOJ 572] Misaka Network 与求和
一.题目 点此看题 二.解法 直接推柿子吧: \[\sum_{i=1}^n\sum_{j=1}^nf(\gcd(i,j))^k \] \[\sum_{d=1}^nf(d)^k\sum_{i=1}^{n ...
- ES6学习笔记(2)- 箭头函数
1. 箭头函数声明 箭头函数的声明方式示例: 1 const printValue = (condition) => { 2 let testValue = 55; 3 if (conditio ...
- Codeforces 976C Nested Segments
题面: 传送门 C. Nested Segments Input file: standard input Output file: standard output Time limit: 2 secon ...
- socket 之send和recv原理剖析
认识TCP socket的发送缓冲区和接收缓冲区 当创建一个TCP socket对象的时候会有一个发送缓冲区和一个接收缓冲区,相当与内存中的一片空间 send原理剖析 send是不是直接把数据发送给服 ...
- 简要说一下.Net的编译过程.
看面试题的时候遇到这样一道题目,简要说明.NET的编译过程,在网上看了很多资料,简单总结如下: 1.一般的编译过程 通常高级语言的程序编译过程是:首先写好的程序是源代码,然后编译器编译为本地机器语言, ...
- elf.h
1 /* This file defines standard ELF types, structures, and macros. 2 Copyright (C) 1995-2019 Free So ...
- sqli-labs系列——第二关
less2 and 1=1有回显,and 1=2无回显,为数值型注入 order by 4–+报错,有3行 查询数据库名 ?id=0' union select 1,(select group_con ...
- java位运算求一个整数的绝对值
1 import java.util.Scanner; 2 3 public class Question1 { 4 public static void main(String[] args) { ...