2025年Python实战:python操作GZ文件,实现文件压缩与解压缩

Python实战:python操作GZ文件,实现文件压缩与解压缩目录 压缩文件生成 GZ 文件 通过程序实现 GZ 文件压缩 GZ 文件解压缩 总结 Python 提供了 gzip zipfile tarfile 等模块用于文件的压缩和解压缩操作 本文将介绍如何使用 gzip 模块实现 GZ 文件的压缩和解压缩操作 压缩文件生成 GZ 文件 下载 gzip exe 打包工具 将 gzip

大家好,我是讯享网,很高兴认识大家。

目录

压缩文件生成GZ文件

通过程序实现GZ文件压缩

GZ文件解压缩

总结


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


讯享网

压缩文件生成GZ文件

下载gzip.exe打包工具

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

输入命令

F:\>gzip 4b29d5f6efa8eb1ae98277be1fb30b90_.0.xml

https://51itzy.com/uploads/202412/23/d8d6e00325d3a7fb.jpg

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

https://51itzy.com/uploads/202412/23/d8d6e00325d3a7fb.jpg

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

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

F:\>gzip 4b29d5f6efa8eb1ae98277be1fb30b90_.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())

上面的代码中,首先使用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()) 

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

总结

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

SteveRocket的博客_CSDN博客-Django进阶,Python进阶,网络&信息安全领域博主SteveRocket擅长Django进阶,Python进阶,网络&信息安全,等方面的知识https://blog.csdn.net/zhouruifu2015/


更多资料 · 微信公众号搜索【CTO Plus】关注后,获取更多,我们一起学习交流。

关于公众号的描述访问如下链接



关于Articulate“做一个知识和技术的搬运工。做一个终身学习的爱好者。做一个有深度和广度的技术圈。”一直以来都想把专业领域的技https://mp.weixin..com/s/0yqGBPbOI6QxHqK17WxU8Q

小讯
上一篇 2025-01-16 10:15
下一篇 2025-01-13 12:38

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/23568.html