zoukankan      html  css  js  c++  java
  • 【8.5】生成器如何读取大文件

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 
     4 
     5 def MyReadLines(f, newline):
     6     buf = ''
     7     while True:
     8         while newline in buf:
     9             pos = buf.index(newline)
    10             yield buf[:pos]
    11             buf = buf[pos + len(newline):]
    12         chunk = f.read(4096*10)
    13         if not chunk:
    14             # 说明已经读到了文件结尾,处理最后一条数据
    15             yield buf
    16             break
    17         buf += chunk
    18 
    19 
    20 with open('read_file.txt') as f:
    21     for line in MyReadLines(f, '{|}'):
    22         print(line)
    asdjkhaskjfdhaskhd
     asdjalskhdkjashgkdyoias
     asdjaslhdiasghfou
     wiuqoxgsabjkdg
     ashdoqwhdasjdha
     as;djoqwhdohqwodhg
    

      文件中的数据,一行且很大

    1 with open(filePath) as f:
    2     for line in f:
    3         print(line)
    4         # Processing data

      文件数据大,但是多行

  • 相关阅读:
    mysql重启.....
    tomcat双向认证
    tomcat单向认证
    tomcat ssi使用
    各种排序
    字符转换
    threeSum问题
    求出0~999之间的所有“水仙花数”并输出
    动态规划
    迷惑一天的代码
  • 原文地址:https://www.cnblogs.com/zydeboke/p/11278429.html
Copyright © 2011-2022 走看看