每日一模块-gzip

一、gzip概述

gzip是用来解压Linux中的以命令gzip生成的以gz为后缀的压缩文件,常见如:file.tar.gz

压缩命令:tar -czvf  xxx.tar.gz  xxx.txt  -C 要压缩的文件路径

解压命令:tar -zxvf  xxx.tar.gz -C 指定解压后文件存放的路径

二、gzip的创建、压缩、解压使用

复制代码
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
# DevVersion: Python3.6
# Date: 2019-11-30 22:01
# Author: SunXiuWen
import os
import gzip


# 创建gzip文件:
def gen_new_gzip_file(path, content):
    """
    以字节写入更快,注意写入字符串要编码程Unicode
    :param path: 压缩后文件路径
    :return:
    """
    with gzip.open(path, 'wb') as f:
        f.write(content.encode('utf-8'))


# file_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'test.gz')
# content = "Lost of content here 这里有很多内容--->"
# gen_new_gzip_file(file_path, content)

# 压缩现有文件
def gen_exist_file_to_gzip_file(file1, file2):
    """
    通过gzip模块压缩现有的文件
    :param file1: 现有文件路径
    :param file2: 解压后文件存放路径及文件名
    :return:
    """
    with open(file1, 'rb') as f_in, gzip.open(file2, 'wb') as f_out:
        f_out.writelines(f_in)


# file_path_1 = '01.pdf'
# file_path_2 = os.path.join(os.path.dirname(os.path.abspath(__file__)), '01.pdf.gz')
# gen_exist_file_to_gzip_file(file_path_1, file_path_2)


# 解压gz文件
def uz_gz(path):
    """
    :param path: gz文件的路径
    :return: 
    """
    f_name = path.rstrip('.gz')
    g_file = gzip.GzipFile(path)
    open(f_name, 'wb+').write(g_file.read())
    g_file.close()


file_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), '01.pdf.gz')
uz_gz(file_path)
复制代码

 

 

posted @   Alive_2020  阅读(210)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
历史上的今天:
2018-11-30 python3_requests模块详解
点击右上角即可分享
微信分享提示