python直接按行读取gz压缩文件中的文本文件的数据
来源:互联网 发布:windows编程教程 编辑:程序博客网 时间:2024/06/05 00:28
之前写了一个从日志文件中(txt文件)提取特定的日志,写入mysql数据库的脚本,由于日志太大,维护人员把日志打包压缩成了tar.gz格式。
之前txt文件单个文件超过2G,把单个txt文件打包压缩成一个tar.gz文件了。所以我的python脚本也需要修改。(服务器centos6.3)
本来想过一个方案,就是把tar.gz解压出来,然后再读取,读取完成后再把这个解压出来的文件删除掉,这个方案不是不可行,但不是很好,一个大文件的解压缩比较慢,另一个解压后比较占服务器磁盘。
后来发现另一个方案,直接按行读取gz压缩文件中的文本文件的数据。
这个是我windows下的测试脚本:
import osimport os.pathimport gzipdef 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
1 0
- python直接按行读取gz压缩文件中的文本文件的数据
- oracle直接读取文本文件数据
- zlib将数据直接写为gz压缩文件
- python读取文本文件数据的方法总结
- 使用volley读取压缩文件的内容(zip、gz)
- 读取客户端文本文件中的数据
- Python 读取文本文件 的方式
- 如何解压.gz的压缩文件
- 如何解压.gz的压缩文件
- 如何解压.gz的压缩文件
- 把文本文件中的数据读取到集合
- python读取zip压缩文件
- [iuud8]cocos2dx如何直接读取本地文本文件获取数据
- 按行读取文本文件
- java解压缩文件和不解压读取压缩文件中的文本文件内容
- java不解压读取linux服务器上的zip以及tar.gz压缩文件
- 如何在Scala中读取Hadoop集群上的gz压缩文件
- Python 按行读取文本文件 缓存 和 非缓存实现
- DOS基本文件操作命令
- rabbitmq相关
- Loser。
- The Internet Communications Engine (Ice) 跨平台异构通讯方案 第二弹-Hello world! - Uzumaki
- 换WAV格式
- python直接按行读取gz压缩文件中的文本文件的数据
- C语言笔记(四)
- Sharepoint Workflow 获取中文栏的问题
- 一步一步教你用SAP NCO3.0调用RFC(菜鸟必看)
- jquery select 上移下移
- Delegate,Action Sheet, Alert
- java简单的接口程序
- fwrite函数
- RepositionBars的用法和参数的意义(引用别人的)