精华内容
下载资源
问答
  • 自1.6版本起,Python中zipfile模块能够直接处理zip文件里的数据,例如需要将对应目录或多个文件打包或压缩成zip格式,或者需要查看一个zip格式的归档文件中部分或者所有文件同时避免讲这些文件展开到磁盘上。...

    zip文件格式是通用的文档压缩标准。自1.6版本起,Python中zipfile模块能够直接处理zip文件里的数据,例如需要将对应目录或多个文

    件打包或压缩成zip格式,或者需要查看一个zip格式的归档文件中部分或者所有文件同时避免讲这些文件展开到磁盘上。使用ZipFile类来

    操作zip文件。

    创建一个ZipFile对象,表示一个zip文件。

    参数file:文件的路径或者类似文件对象

    参数mode:读“r”,写入“w”,添加“a”

    参数compression:ZIP_STORED(无压缩),ZIP_DEFLATED(压缩,需要zlib支持)

    参数allowZip64:默认情况下报错,将其设为Trus,ZipFIle将用ZIP64扩展进行创建文件。

    解压ZIP文档中的所有文件到指定目录。

    推荐学习《python教程》

    下面示例演示了读取一个ZIP文档,将文档里所有文件解压到名为“work”的文件里。#-*-coding: UTF-8 -*-

    import zipfile

    if __name__ == '__main__':

    zFile = zipfile.ZipFile("F:xt.zip", "r")

    #ZipFile.namelist(): 获取ZIP文档内所有文件的名称列表

    for fileM in zFile.namelist():

    zFile.extract(fileM, "F:work")

    zFile.close();

    展开全文
  • 我想编写一个简单的脚本来遍历文件夹中的所有文件,并将压缩文件(.zip)解压缩到同一个文件夹.对于这个项目,我有一个包含近100个压缩.las文件的文件夹,我希望能够轻松地批量解压缩它们.我尝试使用以下脚本import os, ...

    我想编写一个简单的脚本来遍历文件夹中的所有文件,并将压缩文件(.zip)解压缩到同一个文件夹.对于这个项目,我有一个包含近100个压缩.las文件的文件夹,我希望能够轻松地批量解压缩它们.我尝试使用以下脚本

    import os, zipfile

    folder = 'D:/GISData/LiDAR/SomeFolder'

    extension = ".zip"

    for item in os.listdir(folder):

    if item.endswith(extension):

    zipfile.ZipFile.extract(item)

    但是,当我运行脚本时,我收到以下错误:

    Traceback (most recent call last):

    File "D:/GISData/Tools/MO_Tools/BatchUnzip.py", line 10, in

    extract = zipfile.ZipFile.extract(item)

    TypeError: unbound method extract() must be called with ZipFile instance as first argument (got str instance instead)

    我想在我看来,这个过程会是这样的:

    >获取文件夹名称

    >循环文件夹并查找zip文件

    >将zip文件解压缩到文件夹

    但是,感谢Marcus,在实施建议时,我收到了另一个错误:

    Traceback (most recent call last):

    File "D:/GISData/Tools/MO_Tools/BatchUnzip.py", line 12, in

    zipfile.ZipFile(item).extract()

    File "C:\Python27\ArcGIS10.2\lib\zipfile.py", line 752, in __init__

    self.fp = open(file, modeDict[mode])

    IOError: [Errno 2] No such file or directory: 'JeffCity_0752.las.zip'

    当我使用print语句时,我可以看到文件在那里.例如:

    for item in os.listdir(folder):

    if item.endswith(extension):

    print os.path.abspath(item)

    filename = os.path.basename(item)

    print filename

    收益率:

    D:\GISData\Tools\MO_Tools\JeffCity_0752.las.zip

    JeffCity_0752.las.zip

    D:\GISData\Tools\MO_Tools\JeffCity_0753.las.zip

    JeffCity_0753.las.zip

    据我了解文档,

    zipfile.ZipFile(file[, mode[, compression[, allowZip64]]])

    Open a ZIP file, where file can be either a path to a file (a string) or a file-like object

    在我看来,一切都存在并被解释.我只是不明白我做错了什么.

    有什么建议?

    谢谢

    展开全文
  • import os,os.path import zipfile def zip_dir(dirname,zipfilename): ... unzip_file(r'E:/test.zip,r'E:/test2')#确保test2文件夹存在   转载于:https://www.cnblogs.com/digtech/p/4273320.html
    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文件夹存在
    

      

    转载于:https://www.cnblogs.com/digtech/p/4273320.html

    展开全文
  • 首先给大家演示下 zip 文件的解压方法。 提前读取,避免把压缩包自己加上去。 然后给大家看下 zip 文件...Python 技术篇-用zipfile库进行zip文件的压缩与解压实例演示,python压缩本地文件夹为zip文件并保留目录结构。

    首先给大家演示下 zip 文件的解压方法。

    import zipfile
        
    def zip_extract_to(path_zip, path_aim):
        '''
         作用:解压压缩包
         参数一:压缩包位置
         参数二:解压后的路径
        '''
        z = zipfile.ZipFile(path_zip, 'r')
        for p in z.namelist():
            z.extract(p, path_aim)
        z.close()
    
    # 要解压的zip文件路径
    path_zip = r'D:\lizhi\压缩测试\chromedriver_win32.zip'
    # 要解压到的位置
    path_aim = r'D:\lizhi\压缩测试'
    # 解压压缩包
    zip_extract_to(path_zip, path_aim)
    

    效果演示:
    这是压缩包之前的样式。
    在这里插入图片描述
    这是压缩包解压后的样式。
    在这里插入图片描述
    然后给大家看下 zip 文件的压缩过程,我的压缩方法可以直接压缩文件在当前目录下,并不把自己压缩进来,而且可以保留原来文件夹的目录结构。

    import zipfile
    import pathlib
    
    def file_to_zip(path_original, path_zip):
        '''
         作用:压缩文件到指定压缩包里
         参数一:压缩文件的位置
         参数二:压缩后的压缩包
        '''
        # 提前读取,避免把压缩包自己加上去
        # 这里用list()做一个克隆提前执行下,不然会在后面循环时才执行这一引用,如果压缩包在这个路径下,会将它读取进来。
        f_list = list(pathlib.Path(path_original).glob("**/*"))
        z = zipfile.ZipFile(path_zip, 'w')
        for f in f_list:
            z.write(f, str(f)[len(path_original):])
        z.close()
    
    # 要压缩文件夹的位置
    path_original = r'D:\lizhi\压缩测试'
    # 压缩到指定路径下的zip文件
    path_zip = r'D:\lizhi\压缩测试\chromedriver_win32.zip'
    # 压缩文件
    file_to_zip(path_original, path_zip)
    

    我把之前的压缩包删掉了,用那个 driver 文件夹重新进行压缩的,现在看到的是新生成的。
    在这里插入图片描述
    可以看到里面的结构跟我文件夹、目录的结构是一样的。
    在这里插入图片描述
    喜欢的点个赞❤吧!

    展开全文
  • Python用zip_file压缩文件夹,用unzip_file解压文件夹 1. 压缩效果对比 发现压缩率挺低的 压缩前:28.9MB,压缩后依然:27.8MB 2. 压缩耗时 运用了Python 装饰器:拦截每个方法,并输出方法的耗时; 可以参考我之前...
  • 本文实例讲述了Python实现压缩文件夹与解压缩zip文件的方法。分享给大家供大家参考,具体如下:直接上代码#coding=utf-8#甄码农python代码#使用zipfile做目录压缩,解压缩功能import os,os.pathimport zipfiledef ...
  • 1.python批量解压zip压缩文件夹 import zipfile def un_zip(zip_filename,des_dir): ''' 解压压缩包至des_dir指定文件夹 :param zip_filename:输入的压缩包名字,例如a.zip :param des_dir: 解压到的位置:例如...
  • python zip 压缩指定文件夹解压到指定文件夹@dc import os import zipfile def zip_dir(dir_path, zipfile_path): """ zip dir :param dir_path: where zip dir path :param zipfile_path: zip dir :return...
  • 这里讨论使用Python解压如下五种压缩文件:.gz .tar .tgz .zip .rar简介gz: 即gzip,通常只能压缩一个文件。与tar结合起来就可以实现先打包,再压缩。tar: linux系统下的打包工具,只打包,不压缩tgz:即tar.gz。...
  • Python压缩解压zip文件

    万次阅读 多人点赞 2018-06-28 11:37:09
    一、python压缩指定文件夹def zip_file(src_dir): zip_name = src_dir +'.zip' z = zipfile.ZipFile(zip_name,'w',zipfile.ZIP_DEFLATED) for dirpath, dirnames, filenames in os.walk(src_dir): fpath ...
  • 本文实例讲述了Python实现多级目录压缩解压文件的方法。,具体如下:咱向来就是拿来主意,也发个东西供同行“拿来”使用吧咱信奉的就是少量的代码完成大量的工作,虽然代码不多,但还是要用大脑的。发出来供大家...
  • 导入相关模块import osimport shutilimport zipfilefrom os.path import join, getsize一、python压缩指定文件夹def zip_file(src_dir):zip_name = src_dir +'.zip'z = zipfile.ZipFile(zip_name,'w',zipfile.ZIP_...
  • Python 解压文件夹

    2020-08-08 11:08:28
    import zipfile f = zipfile.ZipFile("./main.zip",‘r’) # 原压缩文件在服务器的位置 for file in f.namelist(): f.extract(file,"./") #解压到的位置,./表示当前目录(与此.ipynb文件同一个目录) f.close()
  • 我试着用Python解压一个文件zipfile.extractAll但它提供了错误的zip文件,因此我尝试了以下方法:如本回答所述,我使用了以下代码:def fixBadZipfile(zipFile):f = open(zipFile, 'r+b')data = f.read()pos = data....
  • for filename in filenames: filepath = os.path.join(path,filename) zip_file = zipfile.ZipFile(filepath) #获取压缩文件 for name in zip_file.namelist():# 解压文件 newfilepath = filepath1 if("jdsc" in ...
  • 本文实例讲述了Python实现多级目录压缩解压文件的方法。分享给大家供大家参考,具体如下:咱向来就是拿来主意,也发个东西供同行“拿来”使用吧咱信奉的就是少量的代码完成大量的工作,虽然代码不多,但还是要用...
  • python解压多个文件夹下的压缩文件,以bz2压缩文件为例 以colorferet数据集为例,里面的图片都是压缩文件,对上百个文件夹里的数据进行手动解压想想都可怕。以下是该数据集的文件示例。 处理数据时,经常遇到大量...
  • 代码奉上:解压文件夹:‘‘‘解压配置的文件夹:return:‘‘‘dirpath = “解压的目标路径”filepath = "需要解压的压缩文件"if not os.path.exists(dirpath):os.mkdir(dirpath)zfobj = zipfile.ZipFile(filepath)...
  • Hello,我是wangzirui32,今天我们来学习如何使用shutil模块解压或压缩文件夹。 1. 压缩文件夹 ...2. 解压文件夹 import shutil # 解压 shutil.unpack_archive("要解压的压缩文件", "解压后存在哪个位置")
  • 【背景】当一个文件夹里存好好多.zip文件需要解压时,手动一个个解压再给文件重命名是一件很麻烦的事情,基于此,今天介绍一种使用python实现批量解压文件夹中的压缩文件并给文件重命名的方法—— 【代码实现】 ...
  • 简明python教程第十章为实现压缩文件夹保存备份的方案,提供了如下代码:#!/usr/bin/python# Filename: backup_ver1.pyimport osimport time# 1. The files and directories to be backed up arespecified in a list...
  • 一、需求描述编写一个Python程序,每次下载压缩包形式的文件后,自动将内部文件解压到当前文件夹后将压缩包删除,通过本案例可以学到的知识点:os 模块综合应用glob 模块综合应用利用 gzip zipfile rarfile tarfile...
  • 导入相关模块import osimport shutilimport zipfilefrom os.path import join, getsize一、python压缩指定文件夹def zip_file(src_dir):zip_name = src_dir +'.zip'z = zipfile.ZipFile(zip_name,'w',zipfile.ZIP_...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 429
精华内容 171
关键字:

python压缩解压文件夹

python 订阅