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读取大文件和普通文件的主要内容,如果未能解决你的问题,请参考以下文章

python读取大文件的方法

使用Apache Commons IO组件读取大文件

从末尾读取大文件

Python3 关于excel 文件格式xls之读取写入和追加

python读取txt大文件

python 如何读取大文件