项目开发步骤
当接到一个项目时,应该怎么做?
1. 需求分析:需求分析报告,可行性分析报告;功能
2. 设计:需要哪些模块,模块名,模块功能
3. 编写:模块全部转化为代码
4. 测试:能否使用;是否容易崩溃
5. 使用:交付客户;投入运营
6. 维护:升级;bug的解决
需求分析
目的;范围;定义;功能
误区:不是经济学中的需求
可以去网上下载需求分析报告,了解。
小知识
import os
os.system('shutdown -s -t 1') #关机
os.system('shutdown -r') #重启
维护与改善
备份旧版本的代码;
对旧版本的代码进行更改。
远程电子邮件
选择远程控制渠道
可以是网页,电子邮件,qq等
电子邮件
发送电子邮件
#电子邮件的操作
import poplib #读取邮件的库
import smtplib #主要用于发送邮件
from email.header import decode_header
from email.mime.text import MIMEText #设置邮件内容
import email
#如何登陆邮箱
#按目的分为是为发送邮件而登陆还是为读取邮件而登陆
#先说为发送邮件而登陆的操作。一般来说,发送用SMTP,接收使用POP
sent = smtplib.SMTP('smtp.sina.com') #设置SMTP服务器
sent.login('xxxx_quant@sina.com','mySecretCode')#填的是独立密码
#发送邮件
#已登录,设置发送内容与发送
to = ['xxxxx_quant@sina.com','xxxxxx@qq.com']
content = MIMEText('hello,xxx') #MIMEText的参数代表邮件的具体内容
content['Subject'] = 'hello' #设置邮件标题
content['From'] = 'xxxx_quant@sina.com' #设置邮件来源
content['To'] = ','.join(to) #发往哪里,每个元素用逗号隔开(可群发)
#设置完成,开始发送
sent.sendmail('xxxxx_quant@sina.com',to,content.as_string()) #发送邮箱;发送哪些邮箱,邮件内容
sent.close() #关闭邮箱
读取邮件
import poplib
import smtplib
from email.mime.text import MIMEText
from email.header import decode_header
import email
#读取邮件
read = poplib.POP3('pop.sina.com') #服务器设置
read.user('xxxxx_quant@sina.com') #登陆账号
read.pass_('MyPassword') #登陆密码,pass要加_,不能和关键字pass冲突
tongji = read.stat() #返回邮箱的基本统计信息
#print(tongji) #(1, 927) 1是邮件总数,927代表邮箱总字节数
#读第一封邮件
str1 = read.top(tongji[0],0) #服务器讲返回由参数标识的邮件前0行内容(肉眼无法识别).
#print(str1) 返回三个参数,[1]对我们有用,它是个列表
str2 = []
#先编码,再解码
#编码
for x in str1[1]:
try:
str2.append(x.decode())
except:
try:
str2.append(x.decode('gbk'))
except:
str2.append(x.decode('big5'))
#print(str2)
#解码
#先把str2转化成实例
msg = email.message_from_string('\n'.join(str2))#把String的邮件转换成email.message实例
#msg是把经过编码的str2转化为可识别的邮件信息,并且每行一个信息,join用来连接字符串
biaoti = decode_header(msg['subject'])#返回一个只有一个元素的list,里边是个元组(两个元素)
#print(biaoti) #[('hello', None)]
if biaoti[0][1]:#如果有第二个元素,说明有编码信息
biaoti2 = biaoti[0][0].decode(biaoti[0][1])#用编码信息来解码[0][0]
else:
biaoti2 = biaoti[0][0]
print(biaoti2)
发现个问题,就是上面的这些代码connect后都是有一定时间的,在一定时间内部操作就会被refuse了。
软件工程的思维方法
模块思维,初步设计,详细设计