python读取大文件的某行_Python linecache模块缓存读取大文件指定行

linecache模块的作用是将文件内容读取到内存中,进行缓存,而不是每次都要从硬盘中读取,这样效率提高很多,又省去了对硬盘IO控制器的频繁操作。

2-16030Q04943231.jpg

一、linecache模块简介

我们看一下这个模块的名字叫做linecache,行-缓存,这对于读取内容非常多的文件,效果甚好,而且它还可以读取指定的行内容。

二、linecache模块函数讲解

1 )、 linecache.getline(filename, lineno[, module_globals]) ,这个方法从filename也就是文件中读取内容,得到第 lineno行,注意没有去掉换行符,它将包含在行内。

2 )、 linecache.clearcache() ,清除现有的文件缓存。

3 )、 linecache.checkcache([filename]) ,参数是文件名,作用是检查缓存内容的有效性,可能硬盘内容发生了变化,更新了,如果不提供参数,将检查缓存中所有的项。

三 、linecache模块源码演示

import os

import linecache

def get_content(path):

'''读取缓存中文件内容,以字符串形式返回'''

if os.path.exists(path):

content = ''

cache_data = linecache.getlines(path)

for line in range(len(cache_data)):

content += cache_data[line]

return content

else:

print('the path [{}] is not exist!'.format(path))

def main():

path = 'c:\\test.txt'

content = get_content(path)

print(content)

if __name__ == '__main__':

main()

四 、linecache模块注意事项

linecache里面最常用到的就是getline方法,简单实用可以直接从内容中读到指定的行,日常编程中如果涉及读取大文件,一定要使用首选linecache模块,相比open()那种方法要快N倍,它是你读取文件的效率之源。

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/module/linecache.html

相关文章 Recommend

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值