python读取大文件和普通文件
Posted 香蕉都驼背
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python读取大文件和普通文件相关的知识,希望对你有一定的参考价值。
读取文件,最常见的方式是:
with open(‘filename‘, ‘r‘, encoding = ‘utf-8‘) as f: for line in f.readlines(): do_something(line)
但是,当完成这一操作时,readlines() 方法(read() 也一样)会将整个文件加载到内存中。在文件较大时,往往会引发 MemoryError(内存溢出)。
那么,如何避免这个问题?
这才是 Pythonci 最完美的方式,既高效又快速: with open(‘filename‘, ‘r‘, encoding = ‘utf-8‘) as f: for line in f: do_something(line) with 语句句柄负责打开和关闭文件(包括在内部块中引发异常时),for line in f 将文件对象 f 视为一个可迭代的数据类型,会自动使用 IO 缓存和内存管理,这样就不必担心大文件了。
以上是关于python读取大文件和普通文件的主要内容,如果未能解决你的问题,请参考以下文章