添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

之前写了一个从日志文件中(txt文件)提取特定的日志,写入mysql数据库的脚本,由于日志太大,维护人员把日志打包压缩成了tar.gz格式。

之前txt文件单个文件超过2G,把单个txt文件打包压缩成一个tar.gz文件了。所以我的python脚本也需要修改。(服务器centos6.3)

本来想过一个方案,就是把tar.gz解压出来,然后再读取,读取完成后再把这个解压出来的文件删除掉,这个方案不是不可行,但不是很好,一个大文件的解压缩比较慢,另一个解压后比较占服务器磁盘。

后来发现另一个方案,直接按行读取gz压缩文件中的文本文件的数据。

这个是我windows下的测试脚本:

import os
import os.path
import gzip
def read_gz_file(path):
    if os.path.exists(path):
        with gzip.open(path, 'r') as pf:
            for line in pf:
                yield line
    else:
        print('the path [{}] is not exist!'.format(path))
con = read_gz_file('c:\\1.gz')
if getattr(con, '__iter__', None):
    for line in con:
        print(line)
strZipFile = 'c:\\1.gz'
strDstFile = 'c:\\2'
file   =   gzip.GzipFile(strZipFile,   "r")
outFile   =   open(strDstFile   , "w ")
outFile.write(file.read())
outFile.close()

附件是1.gz文件

运行结果:

sdfasfda


asdfasdf






asdfasdf


adsfadf


提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档一、 python 如何 读取 压缩文件 tar. gz ?二、将列表转化为字符串三、代码 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录一、 python 如何 读取 压缩文件 tar. gz ?二、将列表转化为字符串三、代码 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案 hr_book = xlwt.Workbook(encoding='ascii') hr_sheet = hr_book.add_sheet('HR_title', cell_overwrite_ok=True) # 创建表格 with open('/Users/zhangpengxu/Des...
宿舍报修系统微信小程序代码 | 小程序 | java | uniapp |springboot | 微信小程序 | 代码 1、技术栈:微信小程序,springboot,uniapp,vue,ajax,maven,mysql,MyBatisPlus 2、系统的实现 摘 要 I 目 录 III 第1章 绪论 1 1.1选题动因 1 1.2背景与意义 1 第2章 相关技术介绍 3 2.1 MySQL 数据 库 3 2.2 Vue前端技术 3 2.3 B/S架构模式 4 2.4 ElementUI介绍 4 第3章 系统分析 5 3.1 可行性分析 5 3.1.1技术可行性 5 3.1.2经济可行性 5 3.1.3运行可行性 6 3.2 系统流程 6 3.2.1 操作信息流程 6 3.2.2 登录信息流程 6 3.2.3 删除信息流程 7 3.3 性能需求 7 第4章 系统设计 8 4.1系统整体结构 8 4.2系统功能设计 9 4.3 数据 库设计 9 第5章 系统的实现 20 5.1用户信息管理 20 5.2 图片素材管理 20 5.3视频素材管理 21 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md 文件 (如有),仅供学习参考, 切勿用于商业用途。 --------
智慧物业平台微信小程序代码 | 小程序 | java | uniapp |springboot | 微信小程序 | 代码 1、技术栈:微信小程序,springboot,uniapp,vue,ajax,maven,mysql,MyBatisPlus 2、系统的实现 摘 要 I 目 录 III 第1章 绪论 1 1.1选题动因 1 1.2背景与意义 1 第2章 相关技术介绍 3 2.1 MySQL 数据 库 3 2.2 Vue前端技术 3 2.3 B/S架构模式 4 2.4 ElementUI介绍 4 第3章 系统分析 5 3.1 可行性分析 5 3.1.1技术可行性 5 3.1.2经济可行性 5 3.1.3运行可行性 6 3.2 系统流程 6 3.2.1 操作信息流程 6 3.2.2 登录信息流程 6 3.2.3 删除信息流程 7 3.3 性能需求 7 第4章 系统设计 8 4.1系统整体结构 8 4.2系统功能设计 9 4.3 数据 库设计 9 第5章 系统的实现 20 5.1用户信息管理 20 5.2 图片素材管理 20 5.3视频素材管理 21 这段代码将 Python 对象`data`保存为名为`data. gz `的 gz 文件 。使用` gz ip.open()`函数打开 文件 ,并将其模式设置为`wb`以进行写入。使用`pickle.dump()`将 数据 写入 文件 。这将自动 压缩 数据 并将其保存为 gz 文件 。注意,使用pickle时要小心,因为它可以执行任意代码。 ### 回答2: 将 数据 保存为. gz 文件 的方法有许多。下面是一种常用的方法: 1. 导入相关库:首先,我们需要导入相关的库,如 gz ip库。 2. 打开要保存的 文件 :使用open函数打开要保存的 文件 ,并将其赋值给一个变量。 3. 创建 gz ip 文件 对象:使用 gz ip.open函数创建一个 gz ip 文件 对象,将其赋值给一个变量。 4. 将 数据 写入 gz ip 文件 对象:使用 gz ip 文件 对象的write方法,将要保存的 数据 写入其 。 5. 关闭 gz ip 文件 对象:使用 gz ip 文件 对象的close方法,关闭 文件 对象。 6. 关闭原始 文件 对象:使用原始 文件 对象的close方法,关闭 文件 对象。 以下是一个示例代码,用于将 数据 保存为. gz 文件 : ``` python import gz ip # 打开要保存的 文件 with open("data. txt ", "rb") as file: data = file.read() # 创建 gz ip 文件 对象 with gz ip.open("data. txt . gz ", "wb") as gz ip_file: # 将 数据 写入 gz ip 文件 对象 gz ip_file.write(data) # 关闭原始 文件 对象 # 关闭 gz ip 文件 对象 以上示例代码将名为"data. txt "的 文件 保存为名为"data. txt . gz "的. gz 文件 。需要注意的是,这个示例假设要保存的 数据 是二进制格式的,如果是文本格式的 数据 ,可以使用文本模式进行 读取 和写入。 另外,还可以使用其他方法来保存 数据 为. gz 文件 ,如使用shutil库的 gz ip函数进行 压缩 ,或使用命令行工具如 gz ip进行 压缩 。具体选择哪种方法,取决于个人的需求和偏好。 ### 回答3: 将 数据 保存为. gz 文件 的主要步骤如下: 1. 导入 gz ip模块:首先,在 Python 代码 导入 gz ip模块,以便使用其 提供的相关函数和方法。 ``` python import gz ip 2. 打开要保存的 文件 :使用内置的open函数打开要保存的 文件 ,指定 文件 路径和打开模式。 ``` python file_path = "data. txt " file_mode = "rb" # 如果是 文本文件 ,使用"r"模式;如果是二进制 文件 ,使用"rb"模式 file = open(file_path, file_mode) 3. 创建. gz 文件 并打开:通过 gz ip模块 的open函数创建. gz 文件 ,并指定要保存的 文件 路径和打开模式。 ``` python gz _file_path = "data. txt . gz " gz _file_mode = "wb" # 如果是 文本文件 ,使用"w"模式;如果是二进制 文件 ,使用"wb"模式 gz _file = gz ip.open( gz _file_path, gz _file_mode) 4. 逐行或逐字节 读取 文件 内容,并写入. gz 文件 :使用循环 读取 文件 的每一行或每一个字节,并将其写入. gz 文件 。 ``` python for line in file: gz _file.write(line) 5. 关闭 文件 :在完成 文件 写操作后,记得关闭 文件 ,以释放系统资源。 ``` python file.close() gz _file.close() 完成上述步骤后,就成功将 数据 保存为. gz 文件 。在需要使用保存的 数据 时,只需使用 gz ip模块的open函数打开. gz 文件 ,并进行 数据 读取 操作即可。
CSDN-Ada助手: 非常感谢CSDN博主的这篇博客,很详细地介绍了如何用less+gunzip查看压缩了的文件内容。我觉得可以继续写一篇关于压缩与解压缩的技术文章,介绍更多的压缩工具和使用方法,这样的技术文章对其他用户学习和工作都会有很大帮助。相信会有更多读者受益于你的分享,期待你的下一篇博客。 为了方便博主创作,提高生产力,CSDN上线了AI写作助手功能,就在创作编辑器右侧哦~(https://mp.csdn.net/edit?utm_source=blog_comment_recall )诚邀您来加入测评,到此(https://activity.csdn.net/creatActivity?id=10450&utm_source=blog_comment_recall)发布测评文章即可获得「话题勋章」,同时还有机会拿定制奖牌。 如果写一个文章一键发布工具,你会用吗? 2301_76540823: 很需要,并希望能开源 表情包 windows server 2008 R2系统使用了正确的用户名和密码,却不能正常登录远程桌面 危险游戏i: 我没有其他用户这个选项