av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

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

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

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

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

ZipFile是主要的類,用來創建和讀取zip文件

ZipInfo是存儲的zip文件的每個文件的信息的。

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

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

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

再看看下面一個:

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

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

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

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

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

下面是創建zip壓縮包的方法:

與讀取的方法其實很類似的:

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

上面的代碼非常的簡單。

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

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 91久久国产综合久久91精品网站 | 成人高清视频在线观看 | 国产精品一区二区三区久久 | 男女国产视频 | 中文字幕一区在线观看视频 | 狠狠干狠狠插 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 国产精品视频网 | 久久精品一区 | 97超级碰碰 | 成人av网站在线观看 | 日韩在线精品视频 | 一区二区三区久久久 | 日韩中文一区 | 91国产视频在线观看 | 欧美99 | 日韩精品免费一区二区在线观看 | 久久久久国产一级毛片高清网站 | 国产欧美精品一区二区 | 日韩在线一区二区三区 | 6080亚洲精品一区二区 | 中文字幕一区二区三区四区五区 | 日本爱爱视频 | 久久大陆| 伊人伊成久久人综合网站 | 青青草综合 | 国产一级影片 | 欧美一区视频 | 日韩av成人在线观看 | 99热视| 亚洲毛片网站 | 欧美日韩一区二区在线观看 | 久久精品91久久久久久再现 | 欧美黑人激情 | 国产av毛片 | 伊人伊人| 欧美网站一区二区 | 中文精品视频 | 国产探花在线精品一区二区 | 一级做a爰片性色毛片16 | 二区不卡 |