python文件流读取二进制,python如何读取大文件

  python文件流读取二进制,python如何读取大文件

  Python流读取大文件的两种方法

  1、使用 read 方法分块读取

  使用较低级的file.read()方法,与直接遍历file对象不同,每次调用file.read(chunk_size)都会直接返回从当前位置读取的大小为chunk_size的文件内容,而不需要等待任何换行符出现。

  defcount_nine_v2(fname):

  计算文件中包含多少个数字 9 ,每个读数为8kb。

  计数=0

  block_size=1024*8

  withopen(fname)asfp:

  whileTrue:

  chunk=fp.read(block_size)

  #当文件没有更多的内容时,读取调用将返回空字符串

  ifnotchunk:

  破裂

  count=chunk.count(9 )

  返回2、利用生成器解耦代码计数

  可以定义一个新的chunked_file_reader生成器函数,它负责所有与“数据生成”相关的逻辑。

  count_nine_v3中的主循环只需要负责计数即可。

  defchunked_file_reader(fp,block_size=1024*8):

  生成器函数:分块读取文件内容。

  whileTrue:

  chunk=fp.read(block_size)

  #当文件没有更多的内容时,读取调用将返回空字符串

  ifnotchunk:

  破裂

  屈服块

  defcount_nine_v3(fname):

  计数=0

  withopen(fname)asfp:

  forchunkinchunked _ file _ reader(FP):

  count=chunk.count(9 )

  当count用iter(callable,sentinel)调用它时,会返回一个特殊的对象。迭代它会不断产生可调用对象的调用结果,直到结果设置为nil,迭代终止。

  defchunked_file_reader(file,block_size=1024*8):

  生成器函数:分块读取文件内容,并使用iter函数。

  #首先用partial(fp.read,block_size)构造一个新的不带参数的函数。

  #循环将一直返回fp.read(block_size)的调用结果,直到它为“”时终止

  for chunkiniter(partial(file . read,block_size), ):

  Yieldchunk以上是Python流读取大文件的两种方法。希望能帮到你~

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • python文件路径操作方法总结怎么写,python文件路径操作方法总结表,python文件路径操作方法总结
  • python文件路径操作方法总结怎么写,python文件路径操作方法总结图
  • ,,PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
  • python文件加密存储,python通过文件读写,复制图片
  • python文件打开的默认方式是只读,python以只读方式打开文本文件的参数
  • python文件读写,python将数据写入文件和从文件读取
  • 怎么把python文件变成可执行exe,python将py文件编译成exe文件
  • 打开python文件的两种方式,python文件是怎么打开
  • python文件操作write,python文件write函数的用法
  • linux如何编译python文件,linux上python编译器
  • python打不开文件怎么回事,做好的python文件直接打开怎么不能用
  • python中绝对路径,python文件相对路径怎么写
  • python对文件的操作方法有哪些,python文件的基本操作
  • python关于文件的题目,python文件概述
  • python文件可以直接运行吗,python直接运行
  • 留言与评论(共有 条评论)
       
    验证码: