python文件对象提供了三个“读”方法: read()、readline() 和 readlines()。每种方法可以接受一个变量以限制每次读取的数据量。
- read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中。如果文件大于可用内存,为了保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。
- readlines() 之间的差异是后者一次读取整个文件,象 .read() 一样。.readlines() 自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for … in … 结构进行处理。
- readline() 每次只读取一行,通常比readlines() 慢得多。仅当没有足够内存可以一次读取整个文件时,才应该使用 readline()。
⚠️由于readlines是把内容拆成一个字符串的列表,所以如果是用readlines()读取一个文档的内容,再用 contents.split()对文档进行拆分就会报错,错误类型如下:
AttributeError: 'list' object has no attribute 'split'
这篇博客介绍了Python中文件对象的三种读取方法:read()用于读取整个文件,readline()逐行读取,readlines()返回包含所有行的列表。readlines()在处理大文件时可能导致内存问题,而readline()效率较低,适合内存有限的情况。注意readlines()返回的列表不能直接调用split()方法。
659

被折叠的 条评论
为什么被折叠?



