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

使用Python壓縮和解壓縮zip文件的教程

 更新時間:2015年05月06日 11:40:29   投稿:goldensun  
這篇文章主要介紹了使用Python壓縮和解壓縮zip文件的教程,主要用到了zipfile包,需要的朋友可以參考下

python 的 zipfile 提供了非常便捷的方法來壓縮和解壓 zip 文件。

例如,在py腳本所在目錄中,有如下文件:

復(fù)制代碼 代碼如下:
readability/readability.js
readability/readability.txt
readability/readability-print.css
readability/sprite-readability.png
readability/readability.css

將 readability 目錄中的文件壓縮到腳本所在目錄的 readability.zip 文件中,保持相同的文件結(jié)構(gòu),然后打印出生成的壓縮包 的文件列表,再用兩種方式分別解壓文件到腳本所在目錄的 output 目錄和 output/bak 目錄中。

腳本如下:

#!/usr/vin/env python
# coding: utf-8
"""
壓縮和解壓zip文件
"""

import os
import zipfile

def compress(zip_file, input_dir):
  f_zip = zipfile.ZipFile(zip_file, 'w')
  for root, dirs, files in os.walk(input_dir):
    for f in files:
      # 獲取文件相對路徑,在壓縮包內(nèi)建立相同的目錄結(jié)構(gòu)
      abs_path = os.path.join(os.path.join(root, f))
      rel_path = os.path.relpath(abs_path, os.path.dirname(input_dir))
      f_zip.write(abs_path, rel_path, zipfile.ZIP_STORED)

def extract(zip_file, output_dir):
  f_zip = zipfile.ZipFile(zip_file, 'r')

  # 解壓所有文件到指定目錄
  f_zip.extractall(output_dir)

  # 逐個解壓文件到指定目錄
  for f in f_zip.namelist():
    f_zip.extract(f, os.path.join(output_dir, 'bak'))

def printdir(zip_file):
  f_zip = zipfile.ZipFile(zip_file, 'r')
  print '== printdir() ============================'
  f_zip.printdir()
  print
  print '== namelist() ============================'
  for f in f_zip.namelist():
    print f

if __name__ == '__main__':
  zip_file = 'readability.zip'
  compress(zip_file, os.path.join(os.getcwd(), 'readability'))
  printdirzip_file)
  extract(zip_file, 'output')</pre>


相關(guān)文章

  • 給Python中的MySQLdb模塊添加超時功能的教程

    給Python中的MySQLdb模塊添加超時功能的教程

    這篇文章主要介紹了給Python中的MySQLdb模塊添加超時功能的教程,timeout功能在服務(wù)器的運維當(dāng)中非常有用,需要的朋友可以參考下
    2015-05-05
  • 簡單的連接MySQL與Python的Bottle框架的方法

    簡單的連接MySQL與Python的Bottle框架的方法

    這篇文章主要介紹了簡單的連接MySQL與Python的Bottle框架的方法,主要基于mysql-connector插件,需要的朋友可以參考下
    2015-04-04
  • Python實現(xiàn)的多線程http壓力測試代碼

    Python實現(xiàn)的多線程http壓力測試代碼

    這篇文章主要介紹了Python實現(xiàn)的多線程http壓力測試代碼,結(jié)合實例形式分析了Python多線程操作的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2017-02-02
  • python?subprocess.run()、subprocess.Popen()、subprocess.check_output()

    python?subprocess.run()、subprocess.Popen()、subprocess.check

    Python的subprocess模塊是用于創(chuàng)建和管理子進程的模塊,本文主要介紹了python?subprocess.run()、subprocess.Popen()、subprocess.check_output(),具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • python實現(xiàn)密碼驗證合格程序的思路詳解

    python實現(xiàn)密碼驗證合格程序的思路詳解

    這篇文章主要介紹了python實現(xiàn)密碼驗證合格程序的思路詳解,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • python實現(xiàn)textrank關(guān)鍵詞提取

    python實現(xiàn)textrank關(guān)鍵詞提取

    這篇文章主要為大家詳細介紹了python實現(xiàn)textrank關(guān)鍵詞提取,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Python文件時間操作步驟代碼詳解

    Python文件時間操作步驟代碼詳解

    這篇文章主要介紹了Python文件時間操作步驟代碼詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • python讀取txt文件,去掉空格計算每行長度的方法

    python讀取txt文件,去掉空格計算每行長度的方法

    今天小編就為大家分享一篇python讀取txt文件,去掉空格計算每行長度的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • PyCharm出現(xiàn)Error:Python?packaging?tool?'setuptools'?not?found解決辦法

    PyCharm出現(xiàn)Error:Python?packaging?tool?'setuptools&apo

    這篇文章主要給大家介紹了關(guān)于PyCharm出現(xiàn)Error:Python?packaging?tool?'setuptools'?not?found的解決辦法,文中通過圖文及代碼介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • Python中第三方庫Requests庫的高級用法詳解

    Python中第三方庫Requests庫的高級用法詳解

    雖然Python的標(biāo)準(zhǔn)庫中urllib2模塊已經(jīng)包含了平常我們使用的大多數(shù)功能,但是它的API使用起來讓人實在感覺不好。它已經(jīng)不適合現(xiàn)在的時代,不適合現(xiàn)代的互聯(lián)網(wǎng)了。而Requests的誕生讓我們有了更好的選擇。本文就介紹了Python中第三方庫Requests庫的高級用法。
    2017-03-03

最新評論

洛阳市| 小金县| 汉源县| 枣强县| 独山县| 修文县| 鲜城| 友谊县| 华容县| 建阳市| 富锦市| 邓州市| 环江| 新龙县| 乌拉特中旗| 鲁甸县| 巨野县| 襄樊市| 余庆县| 望奎县| 永安市| 嵩明县| 罗平县| 滁州市| 靖西县| 澄江县| 汶上县| 阳高县| 同江市| 棋牌| 县级市| 报价| 汾西县| 临城县| 乌兰县| 毕节市| 健康| 荔浦县| 顺昌县| 南澳县| 盐城市|