read, readline, readlines

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运行,速度更快。

时间: 2024-11-05 21:38:13

read, readline, readlines的相关文章

python read() readline() readlines() write() writelines()方法总结与区别

python read() readline() readlines() write() writelines()方法总结与区别 输出: read()方法用于直接读取字节到字符串中,可以接参数给定最多读取的字节数,如果没有给定,则文件读取到末尾. readline()方法读取打开文件的一行(读取下个行结束符之前的所有字节),然后整行,包括行结束符,作为字符串返回. readlines()方法读取所有行然后把它们作为一个字符串列表返回 文件/home/pjc/python/pjc.txt的内容如下

python read readline readlines区别

file 对象使用 open 函数来创建,下表列出了 file 对象常用函数read.readline.readlines区别: 1.从文件读取指定的字节数,size如果未给定或为负则读取所有. file.read([size]) 2.读取整行,包括 "\n" 字符. file.readline([size]) 3.读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比 sizeint 较大, 因为需要填充缓冲区. file.re

Python中的read(), readline(), readlines()

文件对象提供了三个"读"方法: .read()..readline() 和 .readlines(). read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中.然而 .read() 生成文件内容最直接的字符串表示,但对于连续的面向行的处理,它却是不必要的,并且如果文件大于可用内存,则不可能实现这种处理. readlines()自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for... in ... 结构进行处理. .readline()每次只读取一

python 的文件读写方法:read readline readlines wirte   writelines

read()方法读入整个文件,把整个文件以字符串形式返回. readline()  方法每次只读一行,每运行一次只读一行.如果要读整个文件,需要结合循环判断文件结束. python判断文件末尾的标志是,读到空字符. 比如: while str != '':     readline() 而readlines()每次读入整个文件,以列表的形式返回,把文件的每一行作为列表的一个元素. write(str)  提供的参数是字符串,把字符串写入文件. writelines(seq)  提供的参数是可迭代

read,readline,readlines的特点与区别

1.read 读取全部文件 with open("test.text", "r",encoding='utf8') as f: print(f.read()) 输出: 2.readline 读取下一行 with open("test.text", "r",encoding='utf8') as f: # print(f.read()) for i in range(10): print(f.readline()) 输出: 3.

read,readline,readlines的区别

python中有神奇的三种读操作:read.readline和readlines read()  : 一次性读取整个文件内容.推荐使用read(size)方法,size越大运行时间越长 readline()  :每次读取一行内容.内存不够时使用,一般不太用 readlines()   :一次性读取整个文件内容,并按行返回到list,方便我们遍历 一般小文件我们都采用read(),不确定大小你就定个size,大文件就用readlines() 原文地址:https://www.cnblogs.com

Python——深入理解urllib、urllib2及requests(requests不建议使用?)

深入理解urllib.urllib2及requests            python Python 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年,Python 源代码同样遵循 GPL(GNU General Public License)协议[1] .Python语法简洁而清晰,具有丰富和强大的类库. urllib and urllib2 区别 urllib和urllib2模块都做与请求URL相关的操作,但

关于爬虫Demo的一点补充

上一篇简单的Demo确实实现了一些爬虫的功能.但是距真正的搜索引擎爬虫确实想去甚远. 1.首先下载URL时,大多是维护一个DNS服务器,找到相应的IP在进行下载网页. 2.维护URL队列时,上篇程序属于纵向的深度遍历,所以维护队列会越来越大,这算是比较大的bug了.解决方法起线程,或者每个页面只抓取一个URL. 3,关于URL抓取和种子URL写的也比较简陋,好吧,原谅他只是个Demo. urllib2的库非常强大加入Header或者模仿cookies设置proxy等等... 先来说说urlope

老齐python-基础7(文件操作、迭代)

在python3中,没有file这个内建类型了(python2中,file是默认类型) 1.读文件 创建文件,130.txt 并在里面输入 learn python http://qiwsir.github.io [email protected] >>> f = open("130.txt") >>> dir(f) #查看方法 ['_CHUNK_SIZE', '__class__', '__del__', '__delattr__', '__dic