1、引言
最近小屌丝在休假, 难得的清净…
我们直接来分享4个在实际工作中运用较多的脚本,
提升工作效率的同时,也解放双手!
2、自动发送多封邮件
这个脚本的功能在实际的工作中非常的常用,如:
批量定时发送邮件
自定义调整邮件的内容、附件;
2.1 模块介绍
模块:
第三方库:
Pandas: 用于数据分析清洗地工具
原理:
Smtlib - 向SMTP服务器发送电子邮件,它定义了一个 SMTP 客户端会话对象,该对象可将邮件发送到互联网上任何带有 SMTP 或 ESMTP 监听程序的计算机
模块安装
老规矩, pip 方式安装:
pip install pandas
其他方式安装:
《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小时等
第三方库:
win10toast: 用于发送桌面通知的工具
模块安装
pip install win10toast
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、总结
今天的内容,差不多就这么多了,
在实际工作中,还有很多常用的脚本,
如果我们平时善于总结整理,可能就会发现,
利用好脚本,对我们工作效率有很多的提升。
如果你也有很多私藏的脚本,不妨也分享出来,让小鱼也多学习学习呢~