码迷,mamicode.com
首页 > 其他好文 > 详细

read, readline, readlines

时间:2015-01-23 17:50:33      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:

read读取指定长度,返回字符串

readline 每次读取一行

readlines 将整个文件读取到内存中。

对于大文件(大于内存)的处理,readline的一行行迭代影响效率。网上看到有个老外给了个很不错的处理办法:

import io

def readInChunks(fileObj, chunkSize=2048):
    """
    Lazy function to read a file piece by piece.
    Default chunk size: 2kB.
    """
    while True:
        data = fileObj.read(chunkSize)
        if not data:
            break
        yield data

f = open(test.txt)
g = open(New Text Document.txt,w)
for chuck in readInChunks(f):
    g.write(chuck)
g.close()

顺便再提下,
while和for 在python里面的运行速度是不一样的。

while是pvm 运行字节码, 运行慢一些

for 是将代码转化成 C运行,速度更快。

read, readline, readlines

标签:

原文地址:http://www.cnblogs.com/qihui/p/4244475.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!