首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pydub -内存错误

pydub -内存错误
EN

Stack Overflow用户
提问于 2017-08-11 22:22:38
回答 1查看 1.1K关注 0票数 1

我正在尝试使用python和pydub库将大型播客mp3文件分割成更小的5分钟块。这是我的密码:

代码语言:javascript
复制
folder = r"C:\temp"
filename = r"p967.mp3"

from pydub import AudioSegment

sound = AudioSegment.from_mp3(folder + "\\" + filename)

这对于小文件很好,但是对于我对100 in +感兴趣的大型播客来说却很好。这将返回以下错误。

代码语言:javascript
复制
Traceback (most recent call last):    
  File "C:\temp\mp3split.py", line 6, in <module>
sound = AudioSegment.from_mp3(folder + "\\" + filename)
  File "C:\Python27\lib\site-packages\pydub\audio_segment.py", line 522, in from_mp3
return cls.from_file(file, 'mp3', parameters)
  File "C:\Python27\lib\site-packages\pydub\audio_segment.py", line 511, in from_file
obj = cls._from_safe_wav(output)
  File "C:\Python27\lib\site-packages\pydub\audio_segment.py", line 544, in _from_safe_wav
return cls(data=file)
  File "C:\Python27\lib\site-packages\pydub\audio_segment.py", line 146, in __init__
data = data if isinstance(data, (basestring, bytes)) else data.read()
MemoryError

这是图书馆的限制吗?我是否应该采用另一种方法来实现这一目标?

如果我添加折叠代码来检查运行时的内存状态。

代码语言:javascript
复制
import psutil
print psutil.virtual_memory()

这些指纹:

代码语言:javascript
复制
svmem(total=8476975104L, available=5342715904L, percent=37.0 used=3134259200L, free=5342715904L)

这对我来说意味着在操作开始时有大量的记忆,尽管我很高兴被证明错了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-11 22:30:41

是的,最有可能的原因是您已经耗尽了可用的内存。在执行该语句之前,您知道有多少可用内存吗?考虑在失败语句之前插入一个系统调用(请参阅os包)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45644560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档