Python 使用imaplib fetch时的MemoryError
请帮帮我,当我试图取回一封特定的电子邮件时,我遇到了记忆错误。这是错误消息:Python 使用imaplib fetch时的MemoryError,python,malloc,imaplib,Python,Malloc,Imaplib,请帮帮我,当我试图取回一封特定的电子邮件时,我遇到了记忆错误。这是错误消息: python(23838,0x1888c00) malloc: *** vm_allocate(size=3309568) failed (error code=3) python(23838,0x1888c00) malloc: *** error: can't allocate region python(23838,0x1888c00) malloc: *** set a breakpoint in szone_
python(23838,0x1888c00) malloc: *** vm_allocate(size=3309568) failed (error code=3)
python(23838,0x1888c00) malloc: *** error: can't allocate region
python(23838,0x1888c00) malloc: *** set a breakpoint in szone_error to debug
Exception in thread Thread-1:Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/threading.py", line 442, in __bootstrap
self.run()
File "/Volumes/SvnDevDisk/branches/HaversackProject_Version_0.2/plugins/GaMailClientPlugin/python/imap/imap_reader.py", line 25, in run
self.readMailbox(eachMailbox)
File "/Volumes/SvnDevDisk/branches/HaversackProject_Version_0.2/plugins/GaMailClientPlugin/python/imap/imap_reader.py", line 58, in readMailbox
resp, content = _mailConnection.fetch(num, '(RFC822 FLAGS)')
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/imaplib.py", line 417, in fetch
typ, dat = self._simple_command(name, message_set, message_parts)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/imaplib.py", line 1004, in _simple_command
return self._command_complete(name, self._command(name, *args))
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/imaplib.py", line 830, in _command_complete
typ, data = self._get_tagged_response(tag)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/imaplib.py", line 935, in _get_tagged_response
self._get_response()
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/imaplib.py", line 896, in _get_response
data = self.read(size)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/imaplib.py", line 231, in read
return self.file.read(size)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/socket.py", line 301, in read
data = self._sock.recv(recv_size)
MemoryError
这是我的代码:
resp, content = _mailConnection.fetch(num, '(RFC822 FLAGS)')
我正在使用python 2.3.5
提前谢谢 内存错误通常表示系统的可用内存不足。也许您的Python脚本保留了对它看到的所有消息的引用,而这些消息的总和太大,无法放入内存中?
a_lauer建议的修复方法似乎解决了我的问题。我尝试获取耗尽内存的特定消息,其大小几乎为5MB。我对python相当陌生,对于如何有效地获取大型消息,特别是那些带有大型附件的消息,有什么建议吗。谢谢