zoukankan      html  css  js  c++  java
  • ZH奶酪:Python按行读取文件

    1:readline()

    file = open("sample.txt") 
    while 1:
        line = file.readline()
        if not line:
            break
        pass # do something
    file.close()

    一行一行得从文件读数据,显然比较慢;

    不过很省内存;

    测试读10M的sample.txt文件,每秒大约读32000行;

    2:fileinput

    import fileinput 
    for line in fileinput.input("sample.txt"):
        pass

    写法简单一些,不过测试以后发现每秒只能读13000行数据,效率比上一种方法慢了两倍多;

    3:readlines()

    file = open("sample.txt") 
    while 1:
        lines = file.readlines(100000)
        if not lines:
            break
        for line in lines:
            pass # do something
    file.close()

    用同样的数据测试,它每秒可以读96900行数据!效率是第一种方法的3倍,第二种方法的7倍!

    4:文件迭代器

    每次只读取和显示一行,读取大文件时应该这样:

    file = open("sample.txt") 
    for line in file:
        pass # do something
    file.close()
  • 相关阅读:
    VBA Exit Do语句
    VBA Exit For语句
    VBA Do...While循环
    VBA While Wend循环
    VBA For Each循环
    VBA for循环
    sqoop 教案
    Hbase 取数据 和放数据 使用mr
    Hbase 四种过滤器
    Hbase java API 的方法
  • 原文地址:https://www.cnblogs.com/CheeseZH/p/4651360.html
Copyright © 2011-2022 走看看