【发布时间】:2013-05-06 01:59:55
【问题描述】:
如何在不加载到内存的情况下将电子邮件信息保存到文件中? 我用
import poplib
pop_conn = poplib.POP3(servername)
pop_conn.user(username)
pop_conn.pass_(passwd)
msg = pop_conn.retr(msg_number)[1]
msg_text = '\n'.join(msg)
msg_file = open(msg_file_name, ,"wb")
msg_file.write(msg_text)
msg_file.close()
但消息已加载到内存中。
【问题讨论】:
-
你不能? Python中的所有操作基本上都是X->Memory buffer->Disk..
-
我认为需要看socket编程的方向。但我不知道具体该怎么做。
-
再次,
socket->memory buffer->disk.. 那里也是一样的。从汇编的角度来看,一切都是 CPU 和内存计算,然后才是其他任何事情。它基本上归结为一点一点地转移内存分配,并告诉 CPU 从内存中获取内容到主板的其他部分(例如磁盘)。你不能绕回记忆..对不起.. -
@Tor,你看过流媒体视频吗?你认为它是如何工作的?
-
@alexis 它从套接字加载到内存中。不同之处在于它由 NIC 上的板载 CPU 接收,发送到 CPU 进行处理,重定向(如果暂时没有存储在 RAM 中)到图形内存缓冲区,然后为了您的方便进行渲染.. 仍然存储在内存中。
标签: python email python-2.7 poplib