如果你有个5、6 G 大小的文件,想把文件内容读出来做一些处理然后存到另外的文件去,你会使用什么进行处理呢?不用在线等,给几个错误示范:有人用multiprocessing 处理,但是效率非常低。于是,有人用python处理大文件还是会存在效率上的问题。因为效率只是和预期的时间有关,不会报错,报错代表程序本身出现问题了~
Python学习群:692649595,有大牛答疑,有资源共享!是一个非常不错的交流基地!欢迎喜欢Python的小伙伴!
所以,为什么用python处理大文件总有效率问题?
如果工作需要,立刻处理一个大文件,你需要注意两点:
01、大型文件的读取效率
面对100w行的大型数据,经过测试各种文件读取方式,得出结论:
with open(filename,"rb") as f:
for fLine in f:
pass
方式最快,100w行全遍历2.7秒。
基本满足中大型文件处理效率需求。如果rb改为r,慢6倍。但是此方式处理文件,fLine为bytes类型。但是python自行断行,仍旧能很好的以行为单位处理读取内容。
02、文本处理效率问题
这里举例ascii定长文件,因为这个也并不是分隔符文件,所以打算采用列表操作实现数据分割。但是问题是