轻松python之文件专题-关于zip文件的一些操作

场景:

zip文件的操作,包括增删改查

1.zip的创建,并在zip包里面创建一个文件

>>> import zipfile
>>> handler=open('temp_zip.zip','w')
>>> handler.close ()
>>> z=zipfile.ZipFile ('c:/Python34/temp_zip.zip','w')
>>> z.writestr('hello.py','def f():return "hello word from "+__file__\n')
>>> z.close ()

2.把文件树给打包到zip里面

>>> import zipfile
>>> z=zipfile.ZipFile('temp_zip.zip','w')
>>> for dirpath,dirnames,filenames in os.walk('c:/Python34/TestDict',True):
	for item in filenames:
		z.write (os.path .join (dirpath,item))
		print (os.path .join (dirpath,item))

c:/Python34/TestDict\input_file.txt
c:/Python34/TestDict\LICENSE.txt
c:/Python34/TestDict\NEWS.txt
c:/Python34/TestDict\output_file.txt
c:/Python34/TestDict\Test1\LICENSE - 副本.txt
c:/Python34/TestDict\Test2\output_file - 副本.txt
>>> z.namelist ()
['Python34/TestDict/input_file.txt', 'Python34/TestDict/LICENSE.txt', 'Python34/TestDict/NEWS.txt', 'Python34/TestDict/output_file.txt', 'Python34/TestDict/Test1/LICENSE - 副本.txt', 'Python34/TestDict/Test2/output_file - 副本.txt']
>>> z.close ()
>>> 

我们预设了一个文件夹以及若干文件,然后把一个文件夹树打包了进去zip里面,最后我们输出这个包里面的文件名

通过namelist递归输出了所有文件的名称

3..清空zip包

>>> z=zipfile.ZipFile('temp_zip.zip','w')
>>> z.close ()

4.解压

>>> import zipfile
>>> z=zipfile.ZipFile('temp_zip.zip','a')
>>> z.extractall()
>>> z.close ()

上面的方法是解压到python的根目录,如果想解压到其他目录,可以在extractall后面加上参数地址

就说到这里,谢谢大家

------------------------------------------------------------------

点击跳转零基础学python-目录

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-05 12:15:03

轻松python之文件专题-关于zip文件的一些操作的相关文章

php读取excel,以及php打包文件夹为zip文件

1.把文件下载到本地,放在在Apache环境下2.d.xlsx是某游戏的服务器名和玩家列表,本程序只适合此种xlsx文件结构,其他结构请修改index.php源码3.访问zip.php的功能是把生成的files文件夹打包成files.zip4.访问index.php即可生成files文件夹,里面0.js---n.js 分别存放各个服务器人名,server_name_list.js存放服务器列表.5.Classes 存放的是php读取excel的功能模块,具体任务逻辑都在index.php A.P

salesforce 零基础学习(五十三)多个文件生成一个zip文件(使用git上封装的代码)

此篇参考git代码:https://github.com/pdalcol/Zippex 学习salesforce可以访问一个朋友的网站:https://www.xgeek.net 首先感谢git上提供代码的大神,学到了新的知识.salesforce不像java提供生成Zip文件的类库,通过git上copy的代码可以实现此功能,具体的使用方法以及API可以查看上方git链接. 概述:实例模拟三个上传组件,加上一个下载Zip包按钮,本地选择需要上传的文件,点击按钮后便会下载成一个压缩文件,压缩文件中

linux下压缩成zip文件解压zip文件

linux  zip命令的基本用法是: zip [参数] [打包后的文件名] [打包的目录路径] linux  zip命令参数列表: -a     将文件转成ASCII模式 -F     尝试修复损坏的压缩文件     -h     显示帮助界面 -m     将文件压缩之后,删除源文件 -n 特定字符串    不压缩具有特定字尾字符串的文件 -o     将压缩文件内的所有文件的最新变动时间设为压缩时候的时间 -q     安静模式,在压缩的时候不显示指令的执行过程 -r     将指定的目录

目录下获取指定后缀文件打包成zip文件

file_dir = os.path.abspath('.') + "/MarkCoin" def zip_ya(): L = [] for root, dirs, files in os.walk(file_dir): for file in files: if os.path.splitext(file)[1] == '.png' or os.path.splitext(file)[1] == '.xlsx': L.append(file) z = zipfile.ZipFile(

Python操作Zip文件

Python操作Zip文件 需要使用到zipfile模块 读取Zip文件 随便一个zip文件,我这里用了bb.zip,就是一个文件夹bb,里面有个文件aa.txt. import zipfile # 默认模式r,读 azip = zipfile.ZipFile('bb.zip') # ['bb/', 'bb/aa.txt'] # 返回所有文件夹和文件 print(azip.namelist()) # # 返回该zip的文件名 print(azip.filename) # 压缩文件里bb文件夹下的

PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载 && Linux下的ZipArchive配置开启压缩

PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流.这里整理一下常用的示例供参考. 一.解压缩zip文件 ? 1 2 3 4 5 6 7 8 9 10 11 $zip = new ZipArchive;//新建一个ZipArchive的对象 /* 通过ZipArchive的对象处理zip文件 $zip->open这个方法的参数表示处理的

PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载

PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载 http://my.oschina.net/junn/blog/104464 PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流.这里整理一下常用的示例供参考. 一.解压缩zip文件 ? 1 2 3 4 5 6 7 8 9 10 11 $zip = new ZipAr

zipfile模块——创建zip文件

import zipfile import os print(os.getcwd()) #C:\Users\del\PycharmProjects\untitled1\cs newZip = zipfile.ZipFile('C:\\Users\\del\\Desktop\\新建文件夹 (2)\\新建文件夹 (2).zip','w') newZip.write('C:\\Users\\del\\Desktop\\新建文件夹 (2)\\新建文件夹 (2)\\11.txt',compress_typ

ubuntu 解压 windows 生成的 zip 文件乱码问题

在windows上压缩的文件,是以系统默认编码中文来压缩文件.由于zip文件中没有声明其编码,所以linux上的unzip一般以默认编码解压,中文文件名会出现乱码. 有两种方式解决问题:(建议采用方法一) 1. 通过unzip行命令解压,指定字符集:(用GBK, GB18030也可以) unzip -O CP936 xxx.zip 有趣的是unzip的manual中并无这个选项的说明, unzip --help对这个参数有一行简单的说明,如下: -O CHARSET  specify a cha