最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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是一個文件的路徑:
復(fù)制代碼 代碼如下:

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)所有文件名的列表。
再看看下面一個:
復(fù)制代碼 代碼如下:

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方法:
復(fù)制代碼 代碼如下:

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

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

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

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

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)用:
復(fù)制代碼 代碼如下:

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

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

相關(guān)文章

  • python字典按照value排序方法

    python字典按照value排序方法

    在本篇文章里小編給各位分享一篇關(guān)于python字典按照value排序方法的相關(guān)文章,有興趣的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • 一文詳解如何從根本上優(yōu)雅地解決VSCode中的Python模塊導(dǎo)入問題

    一文詳解如何從根本上優(yōu)雅地解決VSCode中的Python模塊導(dǎo)入問題

    有時你可能會遇到這種問題,明明用pip安裝好了一個python模塊,但在VScode中總是顯示錯誤,這篇文章主要給大家介紹了關(guān)于如何從根本上優(yōu)雅地解決VSCode中的Python模塊導(dǎo)入問題的相關(guān)資料,需要的朋友可以參考下
    2024-07-07
  • pandas DataFrame 數(shù)據(jù)選取,修改,切片的實現(xiàn)

    pandas DataFrame 數(shù)據(jù)選取,修改,切片的實現(xiàn)

    這篇文章主要介紹了pandas DataFrame 數(shù)據(jù)選取,修改,切片的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • python collections模塊的使用

    python collections模塊的使用

    這篇文章主要介紹了python collections模塊的使用,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-10-10
  • python爬蟲之線程池和進程池功能與用法詳解

    python爬蟲之線程池和進程池功能與用法詳解

    這篇文章主要介紹了python爬蟲之線程池和進程池功能與用法,結(jié)合實例形式分析了Python基于線程池與進程池的爬蟲功能相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下
    2018-08-08
  • Python實現(xiàn)操作Redis所有類型的方法詳解

    Python實現(xiàn)操作Redis所有類型的方法詳解

    Redis作為一款高性能的NoSQL數(shù)據(jù)庫,越來越受到了廣大開發(fā)者的喜愛。本篇博客將介紹如何使用Python操作Redis的所有類型,以及一些高級用法,感興趣的可以了解一下
    2023-04-04
  • 用Django實現(xiàn)一個可運行的區(qū)塊鏈應(yīng)用

    用Django實現(xiàn)一個可運行的區(qū)塊鏈應(yīng)用

    這篇文章主要介紹了用Django實現(xiàn)一個可運行的區(qū)塊鏈應(yīng)用,需要的朋友可以參考下
    2018-03-03
  • python如何實現(xiàn)API的調(diào)用詳解

    python如何實現(xiàn)API的調(diào)用詳解

    Web?API是網(wǎng)站的一部分,用于與使用非常具體的URL請求特定信息的程序交互,下面這篇文章主要給大家介紹了關(guān)于python實現(xiàn)API的快速調(diào)用指南,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • python中偏函數(shù)partial用法實例分析

    python中偏函數(shù)partial用法實例分析

    這篇文章主要介紹了python中偏函數(shù)partial用法,實例分析了偏函數(shù)partial的功能、定義及使用方法,需要的朋友可以參考下
    2015-07-07
  • python FTP編程基礎(chǔ)入門

    python FTP編程基礎(chǔ)入門

    這篇文章主要介紹了python FTP編程基礎(chǔ)入門的的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-02-02

最新評論

肥乡县| 汶川县| 湘乡市| 蒲江县| 双柏县| 涞源县| 永丰县| 龙里县| 北流市| 那坡县| 怀柔区| 公主岭市| 德保县| 临漳县| 龙游县| 上思县| 屯门区| 晋中市| 乌拉特后旗| 太和县| 讷河市| 樟树市| 吉水县| 新竹县| 凤阳县| 衡阳县| 华容县| 满洲里市| 红河县| 海南省| 黄石市| 札达县| 卢龙县| 察隅县| 遵义县| 长顺县| 黄浦区| 新津县| 独山县| 额敏县| 定安县|