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