4个自动化脚本
- 2.1 模块介绍
- 2.2 代码实战
- 3.1 模块介绍
- 3.2 代码实战
- 4.1 模块介绍
- 4.2 代码实战
- 5.1 模块介绍
- 5.2 代码实战
1、引言
最近小屌丝在休假, 难得的清净…
我们直接来分享4个在实际工作中运用较多的脚本,
提升工作效率的同时,也解放双手!
2、自动发送多封邮件
这个脚本的功能在实际的工作中非常的常用,如:
2.1 模块介绍
模块:
第三方库:
原理:
Smtlib - 向SMTP服务器发送电子邮件,它定义了一个 SMTP 客户端会话对象,该对象可将邮件发送到互联网上任何带有 SMTP 或 ESMTP 监听程序的计算机
模块安装
老规矩, pip 方式安装:
其他方式安装:
《Python3,选择Python自动安装第三方库,从此跟pip说拜拜!!》
《Python3:我低调的只用一行代码,就导入Python所有库!!》
2.2 代码实战
代码展示:
# -*- coding:utf-8 -*-
# @Time : 2022-01-24
# @Author : carl_DJ
import smtplib
from email.message import EmailMessage
import pandas as pd
# 创建email
def send_email(remail, rsubject, rcontent):
email = EmailMessage()
#填写发送人信息
email['from'] = 'The Pythoneer Here'
#填写收件人信息
email['to'] = remail
#邮件标题
email['subject'] = rsubject
#邮件内容
email.set_content(rcontent)
#设置邮箱服务器基本信息
with smtplib.SMTP(host='smtp.gmail.com',port=587)as smtp:
smtp.ehlo()
smtp.starttls()
#登录信息
smtp.login("carl@xxx.com","carl@371")
#发送邮件
smtp.send_message(email)
print("email send to ",remail)
if __name__ == '__main__':
df = pd.read_excel('list.xlsx')
length = len(df)+1
for index, item in df.iterrows():
email = item[0]
subject = item[1]
content = item[2]
send_email(email,subject,content)
3、自动桌面提示
3.1 模块介绍
这个脚本会自动触发windows桌面通知,提示重要事项,比如说:您已工作两小时,该休息了
我们可以设定固定时间提示,比如隔10分钟、1小时等
第三方库:
模块安装
3.2 代码实战
代码展示:
# -*- coding:utf-8 -*-
# @Time : 2022-01-24
# @Author : carl_DJ
from win10toast import ToastNotifier
import time
toaster = ToastNotifier()
#基本信息设置
header = input("What You Want Me To Remember\n")
text = input("Releated Message\n")
time_min=float(input("In how many minutes?\n"))
time_min = time_min * 60
print("Setting up reminder..")
time.sleep(2)
print("all set!")
time.sleep(time_min)
toaster.show_toast(f"{header}", f"{text}", duration=10, threaded=True)
while toaster.notification_active():
time.sleep(0.005)
4、自动生成素描草图
4.1 模块介绍
这个脚本可以把彩色图片转化为铅笔素描草图,对人像、景色都有很好的效果。
第三方库:
- Opencv - 计算机视觉工具,可以实现多元化的图像视频处理,有Python接口
opencv 就不过多介绍了,小鱼的博客也写了好多关于opencv的实例,如:
- 《Python3,19行代码,我把她的照片写入到Excel中,2022年伊始,她终于被我感动了。》
- 《Python3,10行代码,我把情书写在她的照片里,她被我的才华征服了。》
- 《Python3,3行代码,我把120M图片压缩到40M,从此再也不怕图片上传限制了。》
4.2 代码实战
代码展示:
# -*- coding:utf-8 -*-
# @Time : 2022-01-24
# @Author : carl_DJ
import cv2
#读取img图片
img = cv2.imread("queue.jpg")
#将BGR格式图片转换成灰度图片
gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
#对灰度图片进行反相
inverted_gray_image = 255 - gray_image
#设置图片的高斯矩阵长和宽都是19,标差为0
blurred_inverted_gray_image = cv2.GaussianBlur(inverted_gray_image, (19, 19), 0)
# 反转模糊图像处理
inverted_blurred_image = 255 - blurred_inverted_gray_image
# 得到素描图像
sketck = cv2.divide(gray_image, inverted_blurred_image, scale=256.0)
cv2.imshow("Original Image", img)
cv2.imshow("Pencil Sketch", sketck)
cv2.waitKey(0)
5、自动化阅读网页新闻
5.1 模块介绍
这个脚本能够实现从网页中抓取文本,然后自动化语音朗读,当你想听新闻的时候,这是个不错的选择。
思路:
整体分两部分
第三方库:
- Beautiful Soup - 经典的HTML/XML文本解析器,用来提取爬下来的网页信息;
- requests - 好用到逆天的HTTP工具,用来向网页发送请求获取数据;
- Pyttsx3 - 将文本转换为语音,并控制速率、频率和语音;
模块安装:
pip install bs4 , requests,Pyttsx3
5.2 代码实战
代码展示:
# -*- coding:utf-8 -*-
# @Time : 2022-01-24
# @Author : carl_DJ
import pyttsx3
import requests
from bs4 import BeautifulSoup
engine = pyttsx3.init('sapi5')
voices = engine.getProperty('voices')
newVoiceRate = 130
engine.setProperty('rate',newVoiceRate)
engine.setProperty('voice', voices[1].id)
def speak(audio):
engine.say(audio)
engine.runAndWait()
text = str(input("Paste article\n"))
res = requests.get(text)
soup = BeautifulSoup(res.text,'html.parser')
articles = []
for i in range(len(soup.select('.p'))):
article = soup.select('.p')[i].getText().strip()
articles.append(article)
text = " ".join(articles)
speak(text)
# engine.save_to_file(text, 'test.mp3') ## If you want to save the speech as a audio file
engine.runAndWait()
6、总结
今天的内容,差不多就这么多了,
在实际工作中,还有很多常用的脚本,
如果我们平时善于总结整理,可能就会发现,
利用好脚本,对我们工作效率有很多的提升。
如果你也有很多私藏的脚本,不妨也分享出来,让小鱼也多学习学习呢~