国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python中使用tarfile壓縮、解壓tar歸檔文件示例

2019-11-25 17:50:44
字體:
來源:轉載
供稿:網友

Python自帶的tarfile模塊可以方便讀取tar歸檔文件,牛b的是可以處理使用gzip和bz2壓縮歸檔文件tar.gz和tar.bz2。
與tarfile對應的是zipfile模塊,zipfile是處理zip壓縮的。請注意:os.system(cmd)可以使Python腳本執行命令,當然包括:tar -czf  *.tar.gz *,tar -xzf *.tar.gz,unzip等,當我覺得這樣盡管可以解決問題,但我覺得很業余。

使用tarfile壓縮

復制代碼 代碼如下:

import tarfile
 
#創建壓縮包名
tar = tarfile.open("/tmp/tartest.tar.gz","w:gz")
#創建壓縮包
for root,dir,files in os.walk("/tmp/tartest"):
    for file in files:
        fullpath = os.path.join(root,file)
        tar.add(fullpath)
tar.close()

使用tarfile解壓
復制代碼 代碼如下:

def extract(tar_path, target_path):
    try:
        tar = tarfile.open(tar_path, "r:gz")
        file_names = tar.getnames()
        for file_name in file_names:
            tar.extract(file_name, target_path)
        tar.close()
    except Exception, e:
        raise Exception, e

其中open的原型是:

復制代碼 代碼如下:

tarfile.open(name=None, mode='r', fileobj=None, bufsize=10240, **kwargs)

mode的值有:
復制代碼 代碼如下:

'r' or 'r:*'   Open for reading with transparent compression (recommended).
'r:'   Open for reading exclusively without compression.
'r:gz'   Open for reading with gzip compression.
'r:bz2'   Open for reading with bzip2 compression.
'a' or 'a:'   Open for appending with no compression. The file is created if it does not exist.
'w' or 'w:'   Open for uncompressed writing.
'w:gz'   Open for gzip compressed writing.
'w:bz2'   Open for bzip2 compressed writing.

更多請參考:tarfile ― Read and write tar archive files

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 恩平市| 新泰市| 汤原县| 乌鲁木齐县| 公主岭市| 澄迈县| 博湖县| 河间市| 封丘县| 额济纳旗| 马龙县| 拜泉县| 肥西县| 瑞丽市| 栾城县| 佛山市| 三都| 江油市| 石台县| 垦利县| 麻城市| 方城县| 田林县| 安塞县| 乌什县| 邵阳市| 蒙城县| 广平县| 金川县| 岳阳县| 清水县| 电白县| 板桥市| 彰武县| 石嘴山市| 都昌县| 通州市| 修武县| 曲周县| 陵川县| 恩平市|