欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python ZipFile模塊詳解

 更新時間:2013年11月01日 10:10:49   作者:  
Python壓縮和解壓縮的使用方法詳解,zipfile里有兩個非常重要的class, 分別是ZipFile和ZipInfo。
Python zipfile模塊用來做zip格式編碼的壓縮和解壓縮的,zipfile里有兩個非常重要的class, 分別是ZipFile和ZipInfo, 在絕大多數(shù)的情況下,我們只需要使用這兩個class就可以了。ZipFile是主要的類,用來創(chuàng)建和讀取zip文件而ZipInfo是存儲的zip文件的每個文件的信息的。
比如要讀取一個Python zipfile 模塊,這里假設(shè)filename是一個文件的路徑:
復制代碼 代碼如下:

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

上面的代碼是讀取一個zip壓縮包里所有文件的名字。z.namelist() 會返回壓縮包內(nèi)所有文件名的列表。
再看看下面一個:
復制代碼 代碼如下:

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

這里使用了z.infolist(), 它返回的就是壓縮包內(nèi)所有文件的信息,就是一個ZipInfo的列表。一個ZipInfo對象中包含了壓縮包內(nèi)一個文件的信息,其中比較常用的是 filename, file_size, header_offset, 分別為文件名,文件大小,文件數(shù)據(jù)在壓縮包中的偏移。其實之前的z.namelist()就是讀取的ZipInfo中的filename,組成一個 list返回的。
從壓縮包里解壓縮出一個文件的方法是使用ZipFile的read方法:
復制代碼 代碼如下:

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

這樣就讀取出z.namelist()中的第一個文件,并且輸出到屏幕,當然也可以把它存儲到文件。下面是創(chuàng)建zip壓縮包的方法,與讀取的方法其實很類似的:
復制代碼 代碼如下:

import zipfile, os 
 z = zipfile.ZipFile(filename, 'w')
# 注意這里的第二個參數(shù)是w,這里的filename是壓縮包的名字

假設(shè)要把一個叫testdir中的文件全部添加到壓縮包里(這里只添加一級子目錄中的文件):
復制代碼 代碼如下:

if os.path.isdir(testdir): 
     for d in os.listdir(testdir): 
         z.write(testdir+os.sep+d) 
         # close() 是必須調(diào)用的! 
         z.close()

面的代碼非常的簡單。想想還有一個問題,如果我把一個test/111.txt 添加到壓縮包里之后我希望在包里它放到test22/111.txt怎么辦呢?其實這個就是Python ZipFile模塊的write方法中第二個參數(shù)的作用了。只需要這樣調(diào)用:
復制代碼 代碼如下:

z.write("test/111.txt", "test22/111.txt") 

以上就是我們?yōu)榇蠹医榻B的有關(guān)Python ZipFile模塊的相關(guān)知識。

相關(guān)文章

  • Python中如何創(chuàng)建多線程?

    Python中如何創(chuàng)建多線程?

    這篇文章主要介紹了Python中如何創(chuàng)建多線程的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • 社區(qū)版pycharm創(chuàng)建django項目的方法(pycharm的newproject左側(cè)沒有項目選項)

    社區(qū)版pycharm創(chuàng)建django項目的方法(pycharm的newproject左側(cè)沒有項目選項)

    pycharm的newproject左側(cè)沒有出現(xiàn)項目選項的情況下,創(chuàng)建Django項目的解決方法./社區(qū)版pycharm創(chuàng)建django項目的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-09-09
  • Python Matplotlib初階使用入門教程

    Python Matplotlib初階使用入門教程

    本文介紹Python Matplotlib庫的入門求生級使用方法,本文通過圖文實例相結(jié)合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-11-11
  • python初學之用戶登錄的實現(xiàn)過程(實例講解)

    python初學之用戶登錄的實現(xiàn)過程(實例講解)

    下面小編就為大家分享一篇python初學之用戶登錄的實現(xiàn)過程(實例講解),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • np.unique()的具體使用

    np.unique()的具體使用

    本文主要介紹了np.unique()的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • python爬取豆瓣評論制作詞云代碼

    python爬取豆瓣評論制作詞云代碼

    大家好,本篇文章主要講的是python爬取豆瓣評論制作詞云代碼,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • 20行Python代碼實現(xiàn)一款永久免費PDF編輯工具

    20行Python代碼實現(xiàn)一款永久免費PDF編輯工具

    本文主要介紹了Python代碼實現(xiàn)一款永久免費PDF編輯工具,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • Python多線程實例教程

    Python多線程實例教程

    這篇文章主要介紹了Python多線程,對比了新舊版本的Python在實現(xiàn)多線程的特點,并采用threading模塊的實例來講述了多線程的技巧,需要的朋友可以參考下
    2014-09-09
  • python 并發(fā)編程 阻塞IO模型原理解析

    python 并發(fā)編程 阻塞IO模型原理解析

    這篇文章主要介紹了python 并發(fā)編程 阻塞IO模型原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • NumPy排序的實現(xiàn)

    NumPy排序的實現(xiàn)

    這篇文章主要介紹了NumPy排序的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01

最新評論