python如何打开一个大文件?

时间:2023-03-09 01:30:53
python如何打开一个大文件?
 with open('a.csv','r') as f:
#
for i in f:
print(i)
#
while True:
a = f.readline()
if not a:
break
#
f.readlines()

用with语句打开文件返回一个可以迭代的文件对象绑定在as后的变量f;

第一种:直接遍历文件对象,会自动使用IO缓存和内存管理,是一种很好的方法;

第二种:调用readline()方法,一次读取一行,也不会占用太大内存,但代码显得臃肿,而且,虽然readline()方法是用C实现的,但相比于1的直接操作文件对象,速度上并没有明显的提升;

第三种:调用readlines()方法,返回的是一个包含所有文件元素的列表,如果文件很大(1个G),那就很占用内存,所以大文件情况下,最不推荐这种方法。

综上:推荐第一种写法,即直接遍历文件对象。

另外,还可以用pandas提供的分块读取功能,下一篇详细介绍。