python逐个读取文件_在Python中多次读取同一文件
我需要下载文本文件的zip存档,将存档中的每个文本文件分发给其他处理程序进行处理,最后将解压缩的文本文件写入磁盘.
我有以下代码.它在同一个文件上使用多个打开/关闭,这看起来并不优雅.如何让它更优雅高效?
zipped = urllib.urlopen('www.abc.com/xyz.zip')
buf = cStringIO.StringIO(zipped.read())
zipped.close()
unzipped = zipfile.ZipFile(buf, 'r')
for f_info in unzipped.infolist():
logfile = unzipped.open(f_info)
handler1(logfile)
logfile.close() ## Cannot seek(0). The file like obj does not support seek()
logfile = unzipped.open(f_info)
handler2(logfile)
logfile.close()
unzipped.extract(f_info)
最佳答案 您的答案在您的示例代码中.只需使用StringIO来缓冲日志文件:
zipped = urllib.urlopen('www.abc.com/xyz.zip')
buf = cStringIO.StringIO(zipped.read())
zipped.close()
unzipped = zipfile.ZipFile(buf, 'r')
for f_info in unzipped.infolist():
logfile = unzipped.open(f_info)
# Here's where we buffer:
logbuffer = cStringIO.StringIO(logfile.read())
logfile.close()
for handler in [handler1, handler2]:
handler(logbuffer)
# StringIO objects support seek():
logbuffer.seek(0)
unzipped.extract(f_info)
python逐个读取文件_在Python中多次读取同一文件相关推荐
- linux中一切都是文件_在Linux中,“一切都是文件”是什么意思?
linux中一切都是文件 One of the defining features of Linux and other UNIX-like operating systems is that &qu ...
- h5页面如何预览excel文件_在网页中预览excel表格文件
项目需求在前端页面中实现预览excel表格的功能,上网了解之后大致总结为一下几种方法. 1.office文档转换为pdf,再转swf,然后通过网页加载flash进行预览 2.通过 xlsx.js,js ...
- kali创建文件_在kali中使用ecryptfs创建加密文件夹-bin文件夹
在linux中有一个加密工具叫ecryptfs,我们可以在kali中安装它,创建一个用于加密的文件夹,用eCryptFS加密的伪文件系统挂载到你现有的文件系统上,把我们需要加密的文件放入这个文件夹就可 ...
- python代码写入方式_【Python 1-17】Python手把手教程之——文件的读写以及I/O操作...
作者 | 弗拉德 来源 | 弗拉德(公众号:fulade_me) 从文件中读取数据 文本文件可存储的数据量很多,每当需要分析或修改存储在文件中的信息时,读取文件都很有用,对数据分析应用程序来说尤其 如 ...
- python从文件中读取数据_【Python】从文件中读取数据
从文件中读取数据 1.1 读取整个文件 要读取文件,需要一个包含几行文本的文件(文件PI_DESC.txt与file_reader.py在同一目录下) PI_DESC.txt 3.1415926535 ...
- python从文件中读取数据_使用Python脚本从文件读取数据代码实例
这篇文章主要介绍了使用Python脚本从文件读取数据代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最近自学Python的进度比较慢,工作之 ...
- c++读取utf8文件_【Python】File文件对象
open()方法 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError. 注意:使用 open() ...
- python读取raw数据文件_在python下读取并展示raw格式的图片实例
raw文件可能有些人没有,因此,先用一张图片创建一个raw格式的文件(其实可以是其他类型的格式文件) import numpy as np import cv2 img = cv2.imread('c ...
- python读取raw图片文件_在python下读取并展示raw格式的图片实例
raw文件可能有些人没有,因此,先用一张图片创建一个raw格式的文件(其实可以是其他类型的格式文件) import numpy as np import cv2 img = cv2.imread('c ...
- c++ 写入文件_利用Python把数据存储在csv文件中
鼠年第一天开盘,很多股票跌停,太闹心了!今天再找点开心的事情做吧.人生最幸福的事情莫过于看到自己写的程序调试通过了! 前面我们介绍了,如何用Python做一个串口通讯的上位机.用这个上位机我们可以从E ...
最新文章
- ASCII计算机语言,unicode和ascii的区别是什么
- 如何在Java中将String转换为int?
- VSCode + Latex 配置
- linux系统相关硬件查询
- Android工程中R.java文件的重新生成——注意资源文件的错误
- System.Timers.Timer 嵌套 System.Windows.Forms.Timer的问题
- 坐标转换 计算机图形学_计算机图形学的转换类型
- 爸爸拉合弦飞鸽传书源代码
- 思科isis路由的优先级_【分享】超全!集成ISIS知识详解~
- Linux向文件中写入内容
- AK的故事之英语学习篇(mistake)
- HTML5 中article,header和footer标签的使用
- Excel从入门到精通--基础篇
- 计算机电子表格证怎么样,初学者在电脑上如何制作电子表格
- 高斯投影坐标转换正算参数
- java计算机毕业设计教师继续教育MyBatis+系统+LW文档+源码+调试部署
- Web测试的常见测试点
- 查询任何一门课程成绩在70分以上的姓名、课程名称和分数
- 风水——概率学——需要大数据依托
- Android 10 加载手机本地图片
热门文章
- linux 虚拟机同步时间
- python实现真正的冒泡排序算法(时间复杂度优化版)!
- 王者荣耀连接不上服务器最新赛季排名,王者荣耀新赛季连掉三段 初期不能打排位是有原因的...
- mysql shell 所有表_备份mysql所有数据库的每个表的shell脚本
- C语言ftell()函数(返回文件当前位置)(返回给定流 stream 的当前文件位置)
- Linux编译安装中configure、make和make install各自的作用详解
- VSCODE更改文件时,提示:EACCES: permission denied的解决办法(ubuntu16.04虚拟机)
- 牛客 华为机试(我的代码记录)
- 如何在jupyter notebook中运行markdown文件(脚本、代码)
- 【中级软考】软件质量模型的六大特性27个子特性(软件质量特性:功能性、可靠性、易用性、效率性、软件维护性、软件可移植性)