python读取视频占用内存太大_Python 读取大文件内存占用检测示例

本文介绍了Python在读取大文件时可能会遇到的内存溢出问题,以及如何正确使用read、readlines、readline等方法以减少内存占用。同时,推荐了memory_profiler和guppy两个内存监控工具,帮助开发者检测代码运行时的内存使用情况,以优化代码性能。
摘要由CSDN通过智能技术生成

导读热词对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!

python读写文件的api都很简单,一不留神就容易踩”坑“。笔者记录一次踩坑历程,并且给了一些总结,希望到大家在使用python的过程之中,能够避免一些可能产生隐患的代码。

1.read()与readlines()

随手搜索python读写文件的教程,很经常看到read()与readlines()这对函数。所以我们会常常看到如下代码:

# @param Python读取大文件的"坑“与内存占用检测

# @author 编程之家 jb51.cc|512Pic.com

with open(file_path,'rb') as f:

sha1Obj.update(f.read())

or

with open(file_path,'rb') as f:

for line in f.readlines():

print(line)

# End www.jb51.cc

这对方法在读取小文件时确实不会产生什么异常,但是一旦读取大文件,很容易会产生MemoryError,也就是内存溢出的问题。

####Why Memory Error?

我们首先来看看这两个方法:

当默认参数size=-1时,read方法会读取直到EOF,当文件大小大于可用内存时,自然会发生内存溢出的错误。

read方法

read([size])方法从文件当前位置起读取size个字节,若无参数size,则表示

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值