设为首页 加入收藏

TOP

Python 文件读取的不同方法比对
2017-10-18 09:07:23 】 浏览:2003
Tags:Python 文件 读取 不同 方法 比对

Python 读文件的方式多种多样,但是当需要读取一个大文件的时候,不同的读取方式会有不一样的效果。


逐行读取一个 2.9G 的大文件


对每一行的读取进行一次分割字符串操作
以下方法都使用 with…as 方法打开文件。


运行结果: 耗时 15.4346568584 秒
系统监视器中显示内存从 4.8G 一下子飙到了 8.4G, fh.readlines() 将读取的所有行数据存到内存,这种方法适合小文件。


运行结果: 耗时 22.3531990051 秒
内存几乎没有变化,因为内存中只存取一行的数据,但是时间明显比上一次的长,对于进一步处理数据来说效率不高。


运行结果: 耗时 13.9956979752 秒
内存几乎没有变化,速度也比方法二快。
for line in fh 将文件对象 fh 视为可迭代的,它自动使用缓冲的 IO 和内存管理,因此您不必担心大文件。这是很 pythonic 的方式!


运行结果: 耗时 26.1103110313 秒
内存增加了 200-300 MB,速度是以上最慢的。


以上方法仅供参考,公认的大文件读取方法还是三最好。但是具体情况还是要根据机器的性能、处理数据的复杂度。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Android 使用 SoftReference 解决.. 下一篇Java中隐藏和覆盖的区别和用法

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目