python如何读取文件指定行_Python读取文件、大文件和指定行内容的几种方法

本文介绍了Python处理大文件的多种方法,包括按字节读取、使用readline()、readlines(),以及利用迭代器分块读取。针对读取指定行的内容,提供了适用于小文件和大文件的解决方案,旨在实现高效且内存友好的文件操作。
摘要由CSDN通过智能技术生成

在使用python处理文本的时候,经常会需要读取文件的内容。如果文件比较小,那么直接使用open文件对象打开文件,再通过read()方法最为方便,这种方法就是把文件内容读出来后放到内存变量。

read

f = open('/var/log/nginx/zhangnq.com.log','rb')

#读取全部

log_data = f.read()

f.close()

# 按行读取

但是,当文件很大比如10GB,这种方法就会撑爆内存,爆出类似memoryError的错误。所以,要保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。

如果是处理连续文本内容,文件对象还支持readline()和readlines()两个方法。不同的是readline()没执行一次读取一行,readlines()会把所有内容都读出来。所以readlines方法不适用大文件。

readline

import time

f = open('/var/log/nginx/zhangnq.com.log','rb')

while True:

print(f.readline())

time.sleep(1)

内存使用:占用不到4兆。

c08ba691989397df116d8213a4d0e569.png

readl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值