您的位置:

数据大小压缩python,压缩比大小

本文目录一览:

python怎样压缩和解压缩ZIP文件

1、说明

python使用zipfile模块来压缩和解压zip文件

2、代码

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)

    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)

            outfile = open(ext_filename, 'wb')

            outfile.write(zfobj.read(name))

            outfile.close()

 

if __name__ == '__main__':

    zip_dir(r'd:/python/test',r'd:/python/test.zip')

    unzip_file(r'd:/python/test.zip',r'd:/python/test2')

执行结果

顺利生成相应文件

3、备注

zip文件格式是通用的文档压缩标准,在zipfile模块中,使用ZipFile类来操作zip文件,下面具体介绍一下:

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

创建一个ZipFile对象,表示一个zip文件。参数file表示文件的路径或类文件对象(file-like object);参数mode指示打开zip文件的模式,默认值为'r',表示读已经存在的zip文件,也可以为'w'或'a','w'表示新建一个zip文档或覆盖一个已经存在的zip文档,'a'表示将数据附加到一个现存的zip文档中。参数compression表示在写zip文档时使用的压缩方法,它的值可以是zipfile. ZIP_STORED 或zipfile. ZIP_DEFLATED。如果要操作的zip文件大小超过2G,应该将allowZip64设置为True。

ZipFile还提供了如下常用的方法和属性:

ZipFile.getinfo(name):

获取zip文档内指定文件的信息。返回一个zipfile.ZipInfo对象,它包括文件的详细信息。将在下面 具体介绍该对象。

ZipFile.infolist()

获取zip文档内所有文件的信息,返回一个zipfile.ZipInfo的列表。

ZipFile.namelist()

获取zip文档内所有文件的名称列表。

ZipFile.extract(member[, path[, pwd]])

Python压缩文件

windows下将zip.exe和unzip.exe文件放入path环境中,或者安装zip命令工具

言简意赅版:

怎么压缩用python写的游戏的文件大小?或者用什么开发库?

你可以尝试以下方法:

建立虚拟环境,减少Python打包额外的第三方库

使用upx和pyinstaller进行压缩

使用upx和nuitka进行压缩

这几种方法网上可以找到很多教程,都能够在一定程度上减小打包出来的文件大小,但是因为Python的解释型语言,除了使用nuitka编译成exe以外,其它的压缩方法作用一般不大,但是使用nuitka编译后的文件也会有较大的体积。

Python-加密-压缩-文件

Python自带的zipfile库不支持加密。

另辟蹊径,使用压缩工具的命令行对压缩包进行压缩。

在这里使用 7zip 工具的命令行。

Python实现批量压缩文件/文件夹——zipfile

zipfile是python里用来做zip格式编码的压缩和解压缩的,由于是很常见的zip格式,所以这个模块使用频率也是比较高的,

在这里对zipfile的使用方法做一些记录。即方便自己也方便别人。

Python zipfile模块用来做zip格式编码的压缩和解压缩的,要进行相关操作,首先需要实例化一个 ZipFile 对象。ZipFile 接受一个字符串格式压缩包名称作为它的必选参数,第二个参数为可选参数,表示打开模式,类似于文件操作,有r/w/a三种模式,分别代表读、写、添加,默认为r,即读模式。

zipfile里有两个非常重要的class, 分别是ZipFile和ZipInfo, 在绝大多数的情况下,我们只需要使用这两个class就可以了。ZipFile是主要的类,用来创建和读取zip文件而ZipInfo是存储的zip文件的每个文件的信息的。

ZipFile还提供了如下常用的方法和属性:

获取zip文档内指定文件的信息。返回一个zipfile.ZipInfo对象,它包括文件的详细信息。

获取zip文档内所有文件的信息,返回一个zipfile.ZipInfo的列表。

获取zip文档内所有文件的名称列表。

将zip文档内的指定文件解压到当前目录。参数member指定要解压的文件名称或对应的ZipInfo对象;参数path指定了解析文件保存的文件夹;

解压zip文档中的所有文件到当前目录。参数members的默认值为zip文档内的所有文件名称列表,也可以自己设置,选择要解压的文件名称。

将zip文档内的信息打印到控制台上。

设置zip文档的密码。

python 中如何压缩文件,并指定文件的压缩之后的大小。

这个简单啊。你先压缩成一个ZIP文件。比如 example.zip

然后用python将它分割成,5个文件。e1,e2,e3,e4,e5

邮件发出去后,对方收到邮件,另存附件,然后在目录下运行

copy e1+e2+e3+e4+e5 example.zip

此时windows就将依次将5个文件复制到同一个文件里去。