这篇文章给大家分享的是有关使用Python控制摄像头拍照并发邮件的案例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
Python的五大特点是什么
Python的五大特点:1。简单易学,开发程序时,专注的是解决问题,而不是搞明白语言本身。2。面向对象,与其他主要的语言如c++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。3。可移植性,Python程序无需修改就可以在各种平台上运行。4。解释性,Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序。5。开源,Python是牙线(自由/开放源码软件)之一。
<强>,工具强>
?15.9深化版的
?好看好用的国产linux系统
?python 2.7或3.6者
?解释器,哪个版本都可以,我选择3.6
?smtplib
?用来发送邮件
?电子邮件
?用来构造邮件内容的库
?opencv
?用来调取摄像头拍摄照片
?时间
?获取开机以及拍照的时间
?操作系统
?判断网络连接
?获取脚本路径
?sys
?判断网络是否联通
<强>思路强>
吗? 1。用opencv库调用摄像头拍照保存为文件。
吗? 2。检查网络是否连接,未连接则图片保存到本地。
吗? 3。用电子邮件库构造邮件内容,把保存的照片以附件的形式插入到邮件内容中。
吗? 4。用smtplib库发送邮件给指定邮件接收者。
? 5。实现脚本开机自启动。
<强>安装及导入所使用的包强>
首先当然是安装opencv啦。
其他的电子邮件、smtplib,系统,操作系统,时间为python默认安装的包,我们只需要导入即可。
如果是python3.6安装opencv就在终端输入:
<代码> pip3安装opencv-python 代码>
如果是python2.7安装opencv,就在终端输入:
<代码> pip安装opencv-python 代码>
安装完成后,我们导入必要的包。
各个包的作用在前文已经讲过,不再多言。
电子邮件我们只需要部分功能,所以选择性导入
, import cv2 import smtplib import 系统 import 操作系统 import 时间 ,得到email.mime.image import  MIMEImage ,得到email.mime.multipart import  MIMEMultipart ,得到email.mime.text import  MIMEText
设置参数
将smtp服务器,登录邮箱账号及密码,收件的人,脚本路径等设置为全局变量。方便以后程序移植与修改。
smtpserver =, & # 39; smtp.163.com& # 39;,,, #, smtp服务器 时间=username & # 39; 888888888 @163.com& # 39;, #,发件邮箱账号 时间=password & # 39; 888888888 & # 39;,,, #,邮箱登录密码 sender ,=, & # 39; 888888888 @163.com& # 39;, #,发件的人 时间=addressee & # 39; 999999999 @qq.com& # 39;,, #,收件的人 时间=exit_count 5,,,,,, #,尝试联网次数 path ,=, os.getcwd(),,, #获取图片保存路径
注:很多邮箱为了安全起见,不会使用真实的登录密码,而是要使用授权码,在QQ邮箱的设置里面可以找到生成授权码选项。
实现拍照
def getPicture ():=,,cap  cv2.VideoCapture (0) ,受潮湿腐烂,frame =, cap.read () ,cv2.imwrite(路径+ & # 39;/person.jpg& # 39;,,) ,#关闭摄像头 之前,cap.release () >构造邮件内容
def setMsg (): ,#下面依次为邮件类型,主题,发件人和收件的人。=,,msg  MIMEMultipart(& # 39;混合# 39;) ,味精(& # 39;主题# 39;],=,& # 39;电脑已经启动& # 39; ,味精(& # 39;从# 39;],=,& # 39;88888888888 @163.com & lt; 88888888888 @163.com> & # 39; ,味精(& # 39;伍仟# 39;],=,收件人 ,#下面为邮件的正文=,text “主的人,你的电脑已经开机! 照片如下!“=,,text_plain  MIMEText(文本,& # 39;平原# 39;,,& # 39;utf - 8 # 39;) ,msg.attach (text_plain) ,#构造图片链接=,sendimagefile 开放(路径+ & # 39;/person.jpg& # 39;,, & # 39; rb # 39;) .read ()=,,image  MIMEImage (sendimagefile) ,#下面一句将收件人看到的附件照片名称改为people.png。 ,图像(“Content-Disposition"),=, & # 39;附件;,文件名=皃eople.png" & # 39; ,msg.attach(图片) 以前,return msg.as_string () >实现邮件发送
def sendEmail(味精): ,#发送邮件=,,smtp  smtplib.SMTP () ,smtp.connect (& # 39; smtp.163.com& # 39;) ,smtp.login(用户名,密码) ,smtp.sendmail(发件人,收件人,,味精) 之前,smtp.quit ()使用Python控制摄像头拍照并发邮件的案例