当前位置: 首页 > ai >正文

python怎么写二进制文件需要更新_Python文件迭代器对二进制文件的更新

在Python中,对于二进制文件,我可以编写:buf_size=1024*64 # this is an important size...

with open(file, "rb") as f:

while True:

data=f.read(buf_size)

if not data: break

# deal with the data....

有了要逐行读取的文本文件,我可以编写:with open(file, "r") as file:

for line in file:

# deal with each line....

简写为:with open(file, "r") as file:

for line in iter(file.readline, ""):

# deal with each line....

这个习惯用法记录在PEP 234中,但是我没有找到二进制文件的类似习惯用法。

我试过这个:>>> with open('dups.txt','rb') as f:

... for chunk in iter(f.read,''):

... i+=1

>>> i

1 # 30 MB file, i==1 means read in one go...

我试着放iter(f.read(buf_size),''),但这是一个语法错误,因为iter()中的callable后面有parens。

我知道我可以编写一个函数,但是有没有办法使用默认的习惯用法for chunk in file:,在这里我可以使用缓冲区大小而不是面向行?

感谢您容忍Python新手尝试编写他的第一个非琐碎且惯用的Python脚本。

http://www.xdnf.cn/news/10957.html

相关文章:

  • Android系统的开机画面显示过程分析
  • ubuntu软件更新源,更改,可提高更新的速度
  • [经验技巧] 小米 MIUI V4 系统精简列表
  • mysql虚拟主机_远程连接mysql要点 虚拟主机定义与分类
  • QQ技术全攻略(原来简单的QQ,还隐藏着这么多秘密!)
  • 四个福利性在线网站分享,每一个都让你欲罢不能……
  • 单词学习-Unit2Text4-1(15年8月10日,第20天)
  • HTML5 文件上传的2种方式
  • 中国石油大学《大学英语(三)统考》第七套模拟题
  • FreeTextBox使用方法
  • 面试时最经常被问到的问题(Frenquently asked interview questions)(I)
  • cmos和ccd区别对比
  • 魔兽世界经典旧世私服搭建教程
  • Linux 网络通信瑞士军刀 nc 命令使用
  • rails + devise 用户注册登录及权限判断
  • 解析网页的request header
  • A站、B站、C站、D站、E站、F站、G站、H站、I站、J站、K站、L站、M站、N站、O站、P站、Q站、R站、S站、T站、U站、V站、W站、X站、Y站、Z站都是什么网站?Q站是什么?
  • Quality Center介绍
  • centos7安装dzzoffice和OnlyOffice 安装过程和踩坑出坑!
  • c语言中 5.1lf什么意思,期货股指lf_中金所期货指数IF、IH、IC分别是什么英文单词的缩写_期货攻略网...
  • awk从放弃到入门(9):awk数组详解
  • C#获取文件路径或者文件夹路径的方法
  • 谷歌离线地图FTP下载
  • IIS配置问题 Directory Listing Denied
  • MSDTC不可用解决办法
  • 个人博客搭建指南
  • 网吧游戏服务器虚拟机,用虚拟机亲自体验网咖无盘系统,终于知道网咖系统快的原因了...
  • 什么是J2EE?
  • 技巧-盗号怎么盗啊手机qq软件-小白攻防教学
  • nod32 linux升级方法,打造全自动的NOD32升级服务器