这篇文章主要讲解了“python如何读取大文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python如何读取大文件”吧!
很显然4G内存要一次性的加载大小为8G的文件是不现实的,遇到这种情况必须要考虑多次读取和分批次处理。在Python中读取文件可以先通过open
函数获取文件对象,在读取文件时,可以通过read
方法的size
参数指定读取的大小,也可以通过seek
方法的offset
参数指定读取的位置,这样就可以控制单次读取数据的字节数和总字节数。除此之外,可以使用内置函数iter
将文件对象处理成迭代器对象,每次只读取少量的数据进行处理,代码大致写法如下所示。
with open('...', 'rb') as file: for data in iter(lambda: file.read(2097152), b''): pass
在Linux系统上,可以通过split
命令将大文件切割为小片,然后通过读取切割后的小文件对数据进行处理。例如下面的命令将名为filename
的大文件切割为大小为512M的多个文件。
split -b 512m filename
如果愿意, 也可以将名为filename
的文件切割为10个文件,命令如下所示。
split -n 10 filename
扩展:外部排序跟上述的情况非常类似,由于处理的数据不能一次装入内存,只能放在读写较慢的外存储器(通常是硬盘)上。“排序-归并算法”就是一种常用的外部排序策略。在排序阶段,先读入能放在内存中的数据量,将其排序输出到一个临时文件,依此进行,将待排序数据组织为多个有序的临时文件,然后在归并阶段将这些临时文件组合为一个大的有序文件,这个大的有序文件就是排序的结果。
Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5、游戏开发;6、桌面应用开发。
感谢各位的阅读,以上就是“python如何读取大文件”的内容了,经过本文的学习后,相信大家对python如何读取大文件这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。