用邮件分割和传送大文件,python实现 III

这篇博客分享了如何使用Python通过邮件分块发送大文件的完整代码,详细介绍了实现过程。
摘要由CSDN通过智能技术生成
用邮件分割和传送大文件,python实现 III

4. 接收端baoyu

4.1 导言和import

这部分,是从zhumao.py中抄过来的。

1 #! /usr/bin/python
2 # -*- coding: utf-8 -*-

4 # baoyu, 邮件接收者
5 __usage__ = "usage: %baoyu.py [--help]"
6 __version__ = "baoyu by Young 2012-12-21"

8 from optparse import OptionParser
9 import base64
10 import time
11 import sys
12 import poplib
13 import time
14 from email.Parser import Parser
15 from email.header import decode_header
16 

4.2 helper函数们

这里是一些在后面的业务逻辑实现中要调用的一些函数。它们在此声明和定义,定义的方式一般应依据动机、目的,而不是根据实现手段。也就是说,使用的词汇应该是分析阶段的词汇。函数被从"后面的业务逻辑"中抽取到这里,可能因为被调用很多次,也可能只调用一次,但是在业务上具有较为鲜明的特征。如果调用很多次,抽取出来的原因之一就是重用,这样可以避免后续维护的时候一旦有修改需求,这个功能相关的很多地方都要修改;如果只调用一次,但是业务特征明显,就是为了信息隐藏,以后或别人读代码的时候要容易一些。

根据场合和组织方式的差异,这些函数有不同的称呼。在C++/java中,私有函数基本上实现了这样的功能;在flex/bison及我一时没想起来的很多领域中,它们被称为helper函数。

17 ######
18 # helpers
19 ######
20 def getheader(header_text, default="ascii"):
21     """Decode the specified header"""
22     try:
23         headers = decode_header(header_text)
24         header_sections = [unicode(text, charset or default)
25                            for text, charset in headers]
26         return u"".join(header_sections)
27     except:
28         return u"".join("invalidated encode")
29 

上面的代码是从某位貌似日本人的站点上抄来的,它的名字其实不应该叫做getheader,而是"根据charset解码"邮件头或正文。

30 def get_msg(which):
31     return "\n".join(server.top(which, 1)[1])

这是根据 which指
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值