python读写大文件 meoryerror_Python – 如何在没有MemoryError的情况下gzip大文本文件?...
那很奇怪.如果你试图压缩一个不包含很多新行的大型二进制文件,我会指望这个错误,因为这样的文件可能包含一个对你的RAM来说太大的“行”,但它不应该在一行上发生 – 结构化.csv文件.
但无论如何,逐行压缩文件效率不高.即使操作系统缓冲磁盘I / O,读取和写入较大的数据块通常要快得多,例如64 kB.
我在这台机器上有2GB的RAM,我刚刚成功使用下面的程序来压缩2.8GB的tar存档.
#! /usr/bin/env python
import gzip
import sys
blocksize = 1 << 16 #64kB
def gzipfile(iname, oname, level):
with open(iname, 'rb') as f_in:
f_out = gzip.open(oname, 'wb', level)
while True:
block = f_in.read(blocksize)
if block == '':
break
f_out.write(block)
f_out.close()
return
def main():
if len(sys.argv) < 3:
print "gzip compress in_file to out_file"
print "Usage:\n%s in_file out_file [compression_level]" % sys.argv[0]
exit(1)
iname = sys.argv[1]
oname = sys.argv[2]
level = int(sys.argv[3]) if len(sys.argv) > 3 else 6
gzipfile(iname, oname, level)
if __name__ == '__main__':
main()
我正在运行Python 2.6.6并且gzip.open()不支持.
正如Andrew Bay在评论中指出的那样,如果block ==”:将无法在Python 3中正常工作,因为块包含字节,而不是字符串,并且空字节对象不会比较为空文本字符串.我们可以检查块长度,或者比较b”(它也可以在Python 2.6中使用),但简单的方法是if if not block:.
python读写大文件 meoryerror_Python – 如何在没有MemoryError的情况下gzip大文本文件?...相关推荐
- python更新excel内容_[原创]使用 Python 读写 Excel 文件(一)更新
项目要求 如果说是 Office 办公软件使得 Windows 成为主流的操作系统,那么 Excel 就是使得微软硬起来的法宝! Word 和 PowerPoint 都有不相上下的对手,但 Excel ...
- python暴力破解excel_使用 Python 读写 Excel 文件(一)
项目要求 如果说是 Office 办公软件使得 Windows 成为主流的操作系统,那么 Excel 就是使得微软硬起来的法宝! Word 和 PowerPoint 都有不相上下的对手,但 Excel ...
- python 读写数据文件的6种常用方式
本文主要介绍python读写数据文件的6种常用方式. 1. python内置方法 with open(r'test.xlsx') as f:a = f.read() 一般,在应用上述上下文管理器后,可 ...
- python读写压缩文件使用gzip和bz2
python读写压缩文件使用gzip和bz2 #读取压缩文件 # gzip compression import gzip with gzip.open('somefile.gz', 'rt') as ...
- python读取csv文件的方法-python读写csv文件的方法
1.爬取豆瓣top250书籍 import requests import json import csv from bs4 import BeautifulSoup books = [] def b ...
- python处理excel教程实例-python 读写excel文件操作示例【附源码下载】
本文实例讲述了python 读写excel文件操作.分享给大家供大家参考,具体如下: 对excel文件的操作,python有第三方的工具包支持,xlutils,在这个工具包中包含了xlrd,xlwt等 ...
- csv 字符串_爬虫|python读写csv文件的方法完成生涯规划表
前面用PrettyTable制作了生涯规划表,今天突然想到其实可以用Python读写Excel文件,还可以制作Excel表格,相对而言,感觉csv的读写更简单,所以决定用csv改写生涯规划案例,以后教 ...
- Python读写docx文件(三十五)
Python读写docx文件 Python读写word文档有现成的库可以处理 pip install python-docx安装一下. https://python-docx.readthedocs. ...
- 三十一、Python读写docx文件
@Author:Runsen 文章目录 Python读写docx文件 Python读写docx文件 Python读写word文档有现成的库可以处理 pip install python-docx安装一 ...
最新文章
- python可视化多个机器学习模型在独立测试集(test data set)上面的AUC值、可视化模型效能
- 干货 | 统计学概论和医疗临床大数据分析(附PPT下载)
- Mysql中NUMERIC和DECIMAL类型区别比较
- xce/mime/MimeMessage类接口的说明
- 机器学习-降维之主成分分析PCA算法原理及实战
- visio科学图形包_科学网—科研必备:几款好用的流程图工具,助力你的论文/科研绘图...
- getcwd函数_PHP getcwd()函数与示例
- springboot指定首页(静态资源导入)
- linux下安装rar解压包
- vue+django 生鲜项目 (二)
- 精英计算机主板,精英电脑发布顶级P965芯片组主板
- mybatis plus 事务管理器_学习MyBatis 框架
- Ubuntu18.04 + anaconda3 +python3.6+ 安装labelImg 标注
- 关于SimpleDateFormat的一些使用及性能数据
- 在python中安装插件pynput实现聊天窗口消息轰炸
- android 全屏时钟,手机全屏数字时钟软件
- android camera慢动作,慢动作相机app下载-慢动作相机软件 安卓版v1.1-PC6安卓网
- 漫话:如何给女朋友解释什么是RPC
- oracle数据库语句
- Beta阶段基于spec评论作品
热门文章
- 几行Python代码模拟轮盘抽奖游戏
- html中如何实现选择存储路径的功能_Tomcat 路由请求的实现 Mapper
- java 排序方法详解_java中关于排序方式的实例讲解
- android远程桌面软件毕设_2019 远程桌面解决方案综述
- C++之指针探究(十九):typedef和const指针
- 《Essential C++》笔记之设计一个泛型算法(二)
- 顶级数据团队建设全景报告_如何拥有一支顶级数据智能团队?联想总结了这些由内而外的经验...
- w10无法连到家庭组计算机,一键W10装机版无法进入家庭组如何处理
- oracle 中WITH AS,oracle的with as用法
- C++socket编程(三):3.4 listen监听