那很奇怪.如果你试图压缩一个不包含很多新行的大型二进制文件,我会指望这个错误,因为这样的文件可能包含一个对你的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大文本文件?...相关推荐

  1. python更新excel内容_[原创]使用 Python 读写 Excel 文件(一)更新

    项目要求 如果说是 Office 办公软件使得 Windows 成为主流的操作系统,那么 Excel 就是使得微软硬起来的法宝! Word 和 PowerPoint 都有不相上下的对手,但 Excel ...

  2. python暴力破解excel_使用 Python 读写 Excel 文件(一)

    项目要求 如果说是 Office 办公软件使得 Windows 成为主流的操作系统,那么 Excel 就是使得微软硬起来的法宝! Word 和 PowerPoint 都有不相上下的对手,但 Excel ...

  3. python 读写数据文件的6种常用方式

    本文主要介绍python读写数据文件的6种常用方式. 1. python内置方法 with open(r'test.xlsx') as f:a = f.read() 一般,在应用上述上下文管理器后,可 ...

  4. python读写压缩文件使用gzip和bz2

    python读写压缩文件使用gzip和bz2 #读取压缩文件 # gzip compression import gzip with gzip.open('somefile.gz', 'rt') as ...

  5. python读取csv文件的方法-python读写csv文件的方法

    1.爬取豆瓣top250书籍 import requests import json import csv from bs4 import BeautifulSoup books = [] def b ...

  6. python处理excel教程实例-python 读写excel文件操作示例【附源码下载】

    本文实例讲述了python 读写excel文件操作.分享给大家供大家参考,具体如下: 对excel文件的操作,python有第三方的工具包支持,xlutils,在这个工具包中包含了xlrd,xlwt等 ...

  7. csv 字符串_爬虫|python读写csv文件的方法完成生涯规划表

    前面用PrettyTable制作了生涯规划表,今天突然想到其实可以用Python读写Excel文件,还可以制作Excel表格,相对而言,感觉csv的读写更简单,所以决定用csv改写生涯规划案例,以后教 ...

  8. Python读写docx文件(三十五)

    Python读写docx文件 Python读写word文档有现成的库可以处理 pip install python-docx安装一下. https://python-docx.readthedocs. ...

  9. 三十一、Python读写docx文件

    @Author:Runsen 文章目录 Python读写docx文件 Python读写docx文件 Python读写word文档有现成的库可以处理 pip install python-docx安装一 ...

最新文章

  1. python可视化多个机器学习模型在独立测试集(test data set)上面的AUC值、可视化模型效能
  2. 干货 | 统计学概论和医疗临床大数据分析(附PPT下载)
  3. Mysql中NUMERIC和DECIMAL类型区别比较
  4. xce/mime/MimeMessage类接口的说明
  5. 机器学习-降维之主成分分析PCA算法原理及实战
  6. visio科学图形包_科学网—科研必备:几款好用的流程图工具,助力你的论文/科研绘图...
  7. getcwd函数_PHP getcwd()函数与示例
  8. springboot指定首页(静态资源导入)
  9. linux下安装rar解压包
  10. vue+django 生鲜项目 (二)
  11. 精英计算机主板,精英电脑发布顶级P965芯片组主板
  12. mybatis plus 事务管理器_学习MyBatis 框架
  13. Ubuntu18.04 + anaconda3 +python3.6+ 安装labelImg 标注
  14. 关于SimpleDateFormat的一些使用及性能数据
  15. 在python中安装插件pynput实现聊天窗口消息轰炸
  16. android 全屏时钟,手机全屏数字时钟软件
  17. android camera慢动作,慢动作相机app下载-慢动作相机软件 安卓版v1.1-PC6安卓网
  18. 漫话:如何给女朋友解释什么是RPC
  19. oracle数据库语句
  20. Beta阶段基于spec评论作品

热门文章

  1. 几行Python代码模拟轮盘抽奖游戏
  2. html中如何实现选择存储路径的功能_Tomcat 路由请求的实现 Mapper
  3. java 排序方法详解_java中关于排序方式的实例讲解
  4. android远程桌面软件毕设_2019 远程桌面解决方案综述
  5. C++之指针探究(十九):typedef和const指针
  6. 《Essential C++》笔记之设计一个泛型算法(二)
  7. 顶级数据团队建设全景报告_如何拥有一支顶级数据智能团队?联想总结了这些由内而外的经验...
  8. w10无法连到家庭组计算机,一键W10装机版无法进入家庭组如何处理
  9. oracle 中WITH AS,oracle的with as用法
  10. C++socket编程(三):3.4 listen监听