python zipfile教程_Python中zipfile压缩文件模块的基本使用教程

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()

总结

到此这篇关于Python中zipfile压缩文件模块的基本使用教程的文章就介绍到这了,更多相关Python zipfile压缩文件模块使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

本文标题: Python中zipfile压缩文件模块的基本使用教程

本文地址: http://www.cppcns.com/jiaoben/python/319454.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474769.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

asp不同编码下 UTF-8 GB2312转换收集

用于gb2312下接收新浪api 的json数据utf-8转gb2312 UTF-8字符转换成GB2312 Function UTF2GB(UTFStr) For Dig1 to len(UTFStr) if mid(UTFStr,Dig,1)"%" then if len(UTFStr) > Dig8 then GBStrGBStr & ConvChinese(mid(UTFStr,Dig,9)) DigDig8 else GBStrG…

LeetCode MySQL 578. 查询回答率最高的问题

文章目录1. 题目2. 解题1. 题目 从 survey_log 表中获得回答率最高的问题, survey_log 表包含这些列:id, action, question_id, answer_id, q_num, timestamp。 id 表示用户 id; action 有以下几种值:"show"&#xff…

mysql的cpu飙升到500_[MySQLCPU]线上飙升800%,load达到12的解决过程

接到报警通知,负载过高,达到800%,load也过高,有11了。MySQL版本为5.6.12-log1 top 之后,确实是mysqld进程占据了所有资源。2 查看error日志,无任何异常3 show eninge innodb status\G,没有死锁信…

【分享】Android JNI实例​

【分享】Android JNI实例​ Android的SDK中没有包括JNI的支持,而且对如何支持JNI也没有任何文档说明。不过既然整个Android平台是开源的,我们可以通过Google发布的源代码来找到一些线索(比如frameworks/base/media/jni/目录)&…

LeetCode MySQL 1098. 小众书籍

文章目录1. 题目2. 解题1. 题目 书籍表 Books: ------------------------- | Column Name | Type | ------------------------- | book_id | int | | name | varchar | | available_from | date | ------------------------- book_…

mysql linux 还原_linux下java还原mysql数据库

pageEncoding"UTF-8" import"java.lang.*,java.io.*,java.util.*"%>Runtime runtime Runtime.getRuntime();// 将/data/backup.sql 还原到 192.168.0.96 上的demo库 账号密码为 root rootString restore "mysql -u root -proot -h 192.168.0.96 …

解决eclipse无法解析导入org.eclipse.swt库

右键点击项目 -> Build Path -> Config Build Path...然后选择Libraries标签页,点击Add External JARs...再到你的eclipse安装目录下的plugins目录下寻找 org.eclipse.swt.win32.win32.x86_XXXXX.jar(XXXXX是版本号)。 我的对应库是org…

LeetCode MySQL 1107. 每日新用户统计

文章目录1. 题目2. 解题1. 题目 Traffic 表: ------------------------ | Column Name | Type | ------------------------ | user_id | int | | activity | enum | | activity_date | date | ------------------------ 该表没有主键&a…

mysql gui 有哪些_推荐五款较好的MySQLGUI工具

大多数数据库都是由两个截然不同的部分组成的:后端(存储数据的地方)和前端(一个用于连接数据组件的用户界面)。这种架构可以大多数数据库都是由两个截然不同的部分组成的:后端(存储数据的地方)和前端(一个用于连接数据组件的用户界面)。这种架构可以把用…

共享打印机的方法

共享打印机的方法 1、在计算机上连接好打印机,并安装好打印机的驱动,测试是否在本机上可以打印 ; 2、在打印服务器上,共享该打印机; 3、保证打印服务器上的共享资源可以正常地访问; 4、在PC机运行“\\打印服…

LeetCode MySQL 1149. 文章浏览 II

文章目录1. 题目2. 解题1. 题目 Table: Views ------------------------ | Column Name | Type | ------------------------ | article_id | int | | author_id | int | | viewer_id | int | | view_date | date | ---------------------…

调试lua代码

lua没有调试器,但是它提供了很强的调试功能(debug 库), 所以其实一些常用的调试功能都能很方便的使用,就像使用一个命令行调试器一样: 【例子程序】 -- debug.luagvar1 100 function foo()local var2 10f…

php增加mysql用户_mysql 增加用户

1. 新增用户 Sql代码 mysql insert into mysql. user (Host, User , Password ) values ( localhost , lionbule , password ( hello1234 )); mysqlflush privileges ; 或者 CREATEUSER usernamehost IDENTIFIEDBYpassword; 例子:CREATEUSERdoglo1. 新增用户Sql代码mysql>i…

2012总结--序

新时代Fans同学一直有 总结的习惯!2012总结不同以往,这次总结是 划时代的。 世界末日已过,新的时代已经开始! 2012年是至关重要的一年,不在于 IT技术上有多大提高,而是在于: 1. 离开校园&#x…

LeetCode MySQL 1164. 指定日期的产品价格 *

文章目录1. 题目2. 解题1. 题目 产品数据表: Products ------------------------ | Column Name | Type | ------------------------ | product_id | int | | new_price | int | | change_date | date | ------------------------ 这张表的主键是 (…

python tkinter 实例_Python tkinter模版代码实例

这篇文章主要介绍了Python tkinter模版代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下代码如下import tkinterimport timeimport threadingfrom tkinter import ttkevent threading.Event()once0def s…

判断浏览器版本

用jquery判断浏览器类型: 判断浏览器类型是IE浏览器还是火狐甚至是opera或者苹果浏览器safari,jquery 特效代码如下: $(function(){if($.browser.msie) {alert("这是一个IE浏览器");}else if($.browser.opera) {alert("这是一…

自己动手写cpu 光盘_自己动手写CPU配套源码

自己动手写CPU的源代码,一共15章,可以完整实现MIPS的指令文件:n459.com/file/25127180-476886294以下内容无关:-------------------------------------------分割线---------------------------------------------目录一、往期回顾…

LeetCode 1484. 克隆含随机指针的二叉树(哈希/递归)

文章目录1. 题目2. 解题2.1 原地算法2.2 哈希表1. 题目 给你一个二叉树,树中每个节点都含有一个附加的随机指针,该指针可以指向树中的任何节点或者指向空(null)。 请返回该树的 深拷贝 。 该树的输入/输出形式与普通二叉树相同…

QTreeWidget的基本操作

在主函数中增加&#xff1a; init();connect(ui->treeWidget,SIGNAL(itemChanged(QTreeWidgetItem*, int)),this,SLOT(treeItemChanged(QTreeWidgetItem*,int)));函数实现&#xff1a; void Widget::init() {ui->treeWidget->setHeaderLabels(QStringList()<<&q…