获取电子邮件时python imaplib上的memoryerror

获取电子邮件时python imaplib上的memoryerror,python,python-2.7,Python,Python 2.7,在ubuntu服务器上使用Python 2.7.15+,下面是我的代码 piece, messrow = imap.uid('fetch',id,'(RFC822)') email_message = email.message_from_string(messrow[0][1]) 错误 File "/var/www/mail.py", line 91, in <module> email_message = email.message_from_string(messro

在ubuntu服务器上使用Python 2.7.15+,下面是我的代码

piece, messrow = imap.uid('fetch',id,'(RFC822)')
email_message = email.message_from_string(messrow[0][1])
错误

File "/var/www/mail.py", line 91, in <module>
    email_message = email.message_from_string(messrow[0][1])
  File "/usr/lib/python2.7/email/__init__.py", line 56, in message_from_string
    from email.parser import Parser
  File "/usr/lib/python2.7/email/parser.py", line 12, in <module>
    from email.feedparser import FeedParser
  File "/usr/lib/python2.7/email/feedparser.py", line 27, in <module>
    from email import message
  File "/usr/lib/python2.7/email/message.py", line 16, in <module>
    import email.charset
  File "/usr/lib/python2.7/email/charset.py", line 13, in <module>
    import email.base64mime
  File "/usr/lib/python2.7/email/base64mime.py", line 40, in <module>
    from email.utils import fix_eols
  File "/usr/lib/python2.7/email/utils.py", line 32, in <module>
    from email._parseaddr import quote
MemoryError
文件“/var/www/mail.py”,第91行,在
email\u message=email.message\u from\u字符串(messrow[0][1])
文件“/usr/lib/python2.7/email/\uuuuu init\uuuuuu.py”,第56行,在消息\u from\u字符串中
从email.parser导入解析器
文件“/usr/lib/python2.7/email/parser.py”,第12行,在
从email.feedparser导入feedparser
文件“/usr/lib/python2.7/email/feedparser.py”,第27行,在
从电子邮件导入消息
文件“/usr/lib/python2.7/email/message.py”,第16行,在
导入email.charset
文件“/usr/lib/python2.7/email/charset.py”,第13行,在
导入email.base64mime
文件“/usr/lib/python2.7/email/base64mime.py”,第40行,在
从email.utils导入修复程序
文件“/usr/lib/python2.7/email/utils.py”,第32行,在
从电子邮件。\u parseaddr导入报价
记忆者
小消息也会出现这种情况。 机器有4G内存,我知道python除了可用的机器内存之外没有内存限制


有没有办法解决这个问题?

是的,这是我通过增加机器内存解决的问题:)

是的,这是我通过增加机器内存解决的问题:)

请注意,“可用机器内存”与所有其他进程共享,从所有操作系统开始。此外,您的系统不一定允许您(或者更确切地说,允许您使用“运行此代码的用户帐户”)使用那么多内存(这可能受到ulimit或类似工具的限制)。最后,两行代码并不能很好地说明上下文——您可能只是构建了一个庞大的列表或dict,或者之前已经消耗了所有ram的任何东西。请注意,“可用的机器内存”是与所有其他进程共享的,从操作系统的所有内容开始。此外,您的系统不一定允许您(或者更确切地说,允许您使用“运行此代码的用户帐户”)使用那么多内存(这可能受到ulimit或类似工具的限制)。最后,两行代码并不能很好地说明上下文——您可能只是构建了一个庞大的列表或dict,或者之前已经消耗了所有ram的任何东西。