目录

压缩文件生成GZ文件

通过程序实现GZ文件压缩

GZ文件解压缩

总结


 Python提供了gzip、zipfile、tarfile等模块用于文件的压缩和解压缩操作。本文将介绍如何使用gzip模块实现GZ文件的压缩和解压缩操作。

python wav文件压缩 python压缩文件为gz_python wav文件压缩

压缩文件生成GZ文件

下载gzip.exe打包工具

将gzip.exe与要打包的文件置于同一目录下,打开cmd命令行

输入命令

F:\>gzip 4b29d5f6efa8eb1ae98277be1fb30b90_1458119725.0.xml

python wav文件压缩 python压缩文件为gz_python wav文件压缩_02


也可将工具gzip.exe置于系统盘下的Windows目录下

python wav文件压缩 python压缩文件为gz_压缩文件_03


打开命令行  将目录切换到要打包的文件所在目录下

还是输入以下命令即可将指定文件进行压缩

F:\>gzip 4b29d5f6efa8eb1ae98277be1fb30b90_1458119725.0.xml

在代码中实现:

sc_cmd = "%s %s"%(gzip_file,target_file)
gz_pipe = os.popen(sc_cmd)
gz_pipe.close()


通过程序实现GZ文件压缩

使用gzip模块的GzipFile类可以实现GZ文件的压缩操作。GzipFile类的构造函数需要传入两个参数,第一个参数是压缩后的文件名,第二个参数是打开模式('wb'表示以二进制写入模式打开文件)。

下面是一个简单的例子,将一个300多MB的文件压缩成GZ文件:

import gzip

source_file = "D:\steverocket\CentOS7.zip"
target_file = "D:\steverocket\CentOS7.gz"

with open(source_file, 'rb') as f_in:
    with gzip.open(target_file, 'wb') as f_out:
        f_out.write(f_in.read())

python wav文件压缩 python压缩文件为gz_解压缩_04

上面的代码中,首先使用open()函数打开一个文本文件source_file,以二进制读取模式打开。然后使用gzip.open()函数创建一个GzipFile对象,以二进制写入模式打开,压缩后的文件名为target_file。最后,使用f_out.write()方法将读取到的数据写入压缩文件中。程序执行完后打开文件,文件未压缩坏。

GZ文件解压缩

使用gzip模块的GzipFile类也可以实现GZ文件的解压缩操作。GzipFile类的构造函数需要传入两个参数,第一个参数是要解压的文件名,第二个参数是打开模式('rb'表示以二进制读取模式打开文件)。

下面是一个简单的例子,将一个GZ文件解压缩:

import gzip

TARGET_FILE = "D:\steverocket\CentOS7.gz"
TARGET_FILE_BACK = "D:\steverocket\CentOS7_back.zip"

def decompression_gzfile():
    with gzip.open(TARGET_FILE, 'rb') as f_in:
        with open(TARGET_FILE_BACK, 'wb') as f_out:
            f_out.write(f_in.read())

python wav文件压缩 python压缩文件为gz_压缩文件_05

上面的代码中,首先使用gzip.open()函数打开一个GZ文件TARGET_FILE,以二进制读取模式打开。然后使用open()函数创建一个文本文件TARGET_FILE_BACK,以二进制写入模式打开。最后,使用f_out.write()方法将读取到的数据写入文本文件中。程序执行完后打开文件,文件未压缩坏。

总结

本文介绍了如何使用gzip模块实现GZ文件的压缩和解压缩操作。在压缩时,使用GzipFile类创建一个压缩文件,并使用write()方法将数据写入压缩文件中;在解压缩时,使用GzipFile类打开一个压缩文件,并使用read()方法读取数据,然后将数据写入解压缩后的文件中。