python zlib 压缩 解压 文件夹

import os,os.path
import zipfile

def zip_dir(dirname,zipfilename):
    filelist = []
    if os.path.isfile(dirname):
        filelist.append(dirname)
    else :
        for root, dirs, files in os.walk(dirname):
            for name in files:
                filelist.append(os.path.join(root, name))

    zf = zipfile.ZipFile(zipfilename, "w", zipfile.zlib.DEFLATED)
    for tar in filelist:
        arcname = tar[len(dirname):]
        #print arcname
        zf.write(tar,arcname)
    zf.close()

def unzip_file(zipfilename, unziptodir):
    if not os.path.exists(unziptodir): os.mkdir(unziptodir, 0777)
    zfobj = zipfile.ZipFile(zipfilename)
    for name in zfobj.namelist():
        name = name.replace(‘\\‘,‘/‘)

        if name.endswith(‘/‘):
            os.mkdir(os.path.join(unziptodir, name))
        else:
            ext_filename = os.path.join(unziptodir, name)
            ext_dir= os.path.dirname(ext_filename)
            if not os.path.exists(ext_dir) : os.mkdir(ext_dir,0777)
            outfile = open(ext_filename, ‘wb‘)
            outfile.write(zfobj.read(name))
            outfile.close()

if __name__ == ‘__main__‘:
    #zip_dir(r‘E:/test‘,r‘E:/test.zip‘)
    unzip_file(r‘E:/test.zip,r‘E:/test2‘)#确保test2文件夹存在

  

时间: 2024-10-19 06:08:41

python zlib 压缩 解压 文件夹的相关文章

跨平台的zip文件压缩处理,支持压缩解压文件夹

根据minizip改写的模块,需要zlib支持 输出的接口: 1 #define RG_ZIP_FILE_REPLACE 0 2 #define RG_ZIP_FILE_APPEND 1 3 4 //压缩文件夹目录,递归压缩 5 //szDir是需要压缩的目录,dstLevel是压缩的目录在压缩包里面的层次标识 6 //可直接指定"" 7 //szZipFile压缩包的文件名 8 //replaceFlag指定替换或者是追加进压缩包 9 int DoZipDir(const char*

python递归解压文件夹中所有压缩包

1. 简述 递归解压文件夹中的所有压缩包到指定文件夹 2. 环境配置 python解压rar文件需要安装依赖库 (python-unrar) Windows: 在 RARLab 官方下载安装库文件 http://www.rarlab.com/rar/UnRARDLL.exe 默认路径伪 C:\Program Files (x86)\UnrarDLL\ 添加环境变量 UNRAR_LIB_PATH 键值 C:\Program Files (x86)\UnrarDLL\x64\UnRAR64.dll,

使用 ICSharpCode.SharpZipLib.Zip压缩解压文件

/// <summary> /// 功能:解压zip格式的文件. /// </summary> /// <param name="zipFilePath">压缩文件路径</param> /// <param name="unZipDir">解压文件存放路径,为空时默认与压缩文件同一级目录下,跟压缩文件同名的文件夹</param> /// <returns>解压是否成功</ret

通过SharpZipLib来压缩解压文件

在项目开发中,一些比较常用的功能就是压缩解压文件了,其实类似的方法有许多 ,现将通过第三方类库SharpZipLib来压缩解压文件的方法介绍如下,主要目的是方便以后自己阅读,当然可以帮到有需要的朋友更好了,代码比较简单. public class ZipAndUnzipFileBySharpZipLib    {        /// <summary>        /// 解压文件        /// </summary>        /// <param name=

遍历文件夹及其子文件夹下的.pdf文件,并解压文件夹下所有的压缩包

List<PDFPATH> pdfpath = new List<PDFPATH>(); List<string> ziplist = new List<string>(); public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { FolderBrowserDialog dialog = new FolderBrows

Centos7下创建文件夹 移动文件/文件夹 删除文件/文件夹 解压/文件夹打包压缩 命令整理

一.创建文件夹 1.创建本目录下文件夹 mkdir dir 2.创建其他目录下文件夹    mkdir dir/file 3.创建多级目录文件夹    mkdir -p tmp/dir 4.创建file.txt文件    mkdir dir/file.txt 二.修改文件夹名 1.文件夹重命名    mv dir dir1  2.文件重命名    mv dir/file.txt dir/files.txt 三.查看文件夹/文件 1.cd dir 2.cd dir/dir1 3.回到主目录 cd

linux压缩解压文件

首先进入文件夹 cd /home/ftp2/1520/web 压缩方法一:压缩web下的888.com网站 zip -r 888.com.zip888.com 压缩方法二:将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. zip -r myfile.zip ./* 解压unzip -o -d /home/sunny myfile.zip 把myfile.zip文件解压到 /home/sunny/ -o:不提示的情况下覆盖文件:-d:-d /ho

使用赫夫曼编码压缩解压文件(三)及注意事项

/** *使用灾难级IO方案进行压缩 * @param srcFile 希望的压缩的文件全路径 * @param dstFile 压缩文件的保存路径 */ public static void zipFile(String srcFile,String dstFile) { //创建输出流 FileOutputStream os=null; //创建输出流 FileInputStream is=null; ObjectOutputStream oos=null; try { //创建文件的输入流

winrar命令行压缩解压文件

公司每次通过单向传输设备摆很多文件,可以通过winrar命令行压缩之后传输. WinRAR a -r -ep1 -df 压缩包保存路径 被压缩的文件(夹)路径 例如: "C:\Program Files\WinRAR\winrar.exe"  a  -r  -ep1  -df  "D:\dest\test.rar" "D:\src\" WinRAR x 压缩包路径 解压缩到目标文件夹的路径\ 例如: "C:\Program Files\