电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python模塊zipfile原理及使用方法詳解

瀏覽:108日期:2022-07-15 10:32:40

zipfile是python里用來做zip格式編碼的壓縮和解壓縮的,由于是很常見的zip格式,所以這個(gè)模塊使用頻率也是比較高的

zipfile里有兩個(gè)非常重要的class, 分別是ZipFile和ZipInfo, 在絕大多數(shù)的情況下,我們只需要使用這兩個(gè)class就可以了。

ZipFile是主要的類,用來創(chuàng)建和讀取zip文件

ZipInfo是存儲(chǔ)的zip文件的每個(gè)文件的信息的。

比如要讀取一個(gè)zipfile,這里假設(shè)filename是一個(gè)文件的路徑:

import zipfilez = zipfile.ZipFile(filename, ’r’) # 這里的第二個(gè)參數(shù)用r表示是讀取zip文件,w是創(chuàng)建一個(gè)zip文件for f in z.namelist(): print f

上面的代碼是讀取一個(gè)zip壓縮包里所有文件的名字。z.namelist() 會(huì)返回壓縮包內(nèi)所有文件名的列表。

再看看下面一個(gè):

import zipfilez = zipfile.ZipFile(filename, ’r’)for i in z.infolist(): print i.file_size, i.header_offset

這里使用了z.infolist(), 它返回的就是壓縮包內(nèi)所有文件的信息,就是一個(gè)ZipInfo的列表。一個(gè)ZopInfo對(duì)象中包含了壓縮包內(nèi)一個(gè)文件的信息,其中比較常用的是 filename, file_size, header_offset, 分別為文件名,文件大小,文件數(shù)據(jù)在壓縮包中的偏移。其實(shí)之前的z.namelist()就是讀取的ZopInfo中的filename,組成一個(gè) list返回的。

從壓縮包里解壓縮出一個(gè)文件的方法是使用ZipFile的read方法:

import zipfilez = zipfile.ZipFile(filename, ’r’)print z.read(z.namelist()[0])

這樣就讀取出z.namelist()中的第一個(gè)文件,并且輸出到屏幕,當(dāng)然也可以把它存儲(chǔ)到文件。

下面是創(chuàng)建zip壓縮包的方法:

與讀取的方法其實(shí)很類似的:

import zipfile, osz = zipfile.ZipFile(filename, ’w’) # 注意這里的第二個(gè)參數(shù)是w,這里的filename是壓縮包的名字#假設(shè)要把一個(gè)叫testdir中的文件全部添加到壓縮包里(這里只添加一級(jí)子目錄中的文件):if os.path.isdir(testdir): for d in os.listdir(testdir): z.write(testdir+os.sep+d)# close() 是必須調(diào)用的!z.close()

上面的代碼非常的簡(jiǎn)單。

想想還有一個(gè)問題,如果我把一個(gè)test/111.txt 添加到壓縮包里之后我希望在包里它放到test22/111.txt怎么辦呢?

其實(shí)這個(gè)就是ZipFile的write方法中第二個(gè)參數(shù)的作用了。只需要這樣調(diào)用:z.write('test/111.txt', 'test22/111.txt')

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 河北码上网络科技|邯郸小程序开发|邯郸微信开发|邯郸网站建设 | 桨叶搅拌机_螺旋挤压/方盒旋切造粒机厂家-无锡市鸿诚输送机械有限公司 | 钢托盘,铁托盘,钢制托盘,镀锌托盘,饲料托盘,钢托盘制造商-南京飞天金属13260753852 | 上海宿田自动化设备有限公司-双面/平面/单面贴标机 | 杭州ROHS检测仪-XRF测试仪价格-百科 | 紫外荧光硫分析仪-硫含量分析仪-红外光度测定仪-泰州美旭仪器 | 水厂污泥地磅|污泥处理地磅厂家|地磅无人值守称重系统升级改造|地磅自动称重系统维修-河南成辉电子科技有限公司 | 防水套管-柔性防水套管-刚性防水套管-上海执品管件有限公司 | 旋振筛_不锈钢旋振筛_气旋筛_旋振筛厂家—新乡市大汉振动机械有限公司 | 威实软件_软件定制开发_OA_OA办公系统_OA系统_办公自动化软件 | 滚塑PE壳体-PE塑料浮球-警示PE浮筒-宁波君益塑业有限公司 | 标准件-非标紧固件-不锈钢螺栓-非标不锈钢螺丝-非标螺母厂家-三角牙锁紧自攻-南京宝宇标准件有限公司 | 气动机械手-搬运机械手-气动助力机械手-山东精瑞自动化设备有限公司 | 陶瓷加热器,履带式加热器-吴江市兴达电热设备厂 | 道康宁消泡剂-瓦克-大川进口消泡剂供应商 | 工装定制/做厂家/公司_工装订做/制价格/费用-北京圣达信工装 | POM塑料_PBT材料「进口」聚甲醛POM杜邦原料、加纤PBT塑料报价格找利隆塑料 | 游泳池设备安装工程_恒温泳池设备_儿童游泳池设备厂家_游泳池水处理设备-东莞市君达泳池设备有限公司 | 分子精馏/精馏设备生产厂家-分子蒸馏工艺实验-新诺舜尧(天津)化工设备有限公司 | 衬塑设备,衬四氟设备,衬氟设备-淄博鲲鹏防腐设备有限公司 | 机床主轴维修|刀塔维修|C轴维修-常州翔高精密机械有限公司 | 南京PVC快速门厂家南京快速卷帘门_南京pvc快速门_世界500强企业国内供应商_南京美高门业 | EPDM密封胶条-EPDM密封垫片-EPDM生产厂家 | 湖州织里童装_女童男童中大童装_款式多尺码全_织里儿童网【官网】-嘉兴嘉乐网络科技有限公司 | 全自动固相萃取仪_高通量真空平行浓缩仪-勤业永为 | 上海橡胶接头_弹簧减震器_金属软接头厂家-上海淞江集团 | 硫化罐-胶管硫化罐-山东鑫泰鑫智能装备有限公司| ptc_浴霸_大巴_干衣机_呼吸机_毛巾架_电动车加热器-上海帕克 | 生物制药洁净车间-GMP车间净化工程-食品净化厂房-杭州波涛净化设备工程有限公司 | 正压送风机-多叶送风口-板式排烟口-德州志诺通风设备 | 组织研磨机-高通量组织研磨仪-实验室多样品组织研磨机-东方天净 传递窗_超净|洁净工作台_高效过滤器-传递窗厂家广州梓净公司 | 四川实木门_成都实木门 - 蓬溪聚成门业有限公司 | 医用空气消毒机-医用管路消毒机-工作服消毒柜-成都三康王 | TTCMS自助建站_网站建设_自助建站_免费网站_免费建站_天天向上旗下品牌 | PTFE接头|聚四氟乙烯螺丝|阀门|薄膜|消解罐|聚四氟乙烯球-嘉兴市方圆氟塑制品有限公司 | 万博士范文网-您身边的范文参考网站Vanbs.com | 欧盟ce检测认证_reach检测报告_第三方检测中心-深圳市威腾检验技术有限公司 | 北京翻译公司-专业合同翻译-医学标书翻译收费标准-慕迪灵 | 100国际学校招生 - 专业国际学校择校升学规划 | 杭州中央空调维修_冷却塔/新风机柜/热水器/锅炉除垢清洗_除垢剂_风机盘管_冷凝器清洗-杭州亿诺能源有限公司 | 扬尘监测_扬尘监测系统_带证扬尘监测设备 - 郑州港迪科技有限公司 |