Python3,掌握这4个自动化脚本,让工作效率提升200%。

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("[email protected]","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的实例,如:

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、总结

今天的内容,差不多就这么多了,
在实际工作中,还有很多常用的脚本,
如果我们平时善于总结整理,可能就会发现,
利用好脚本,对我们工作效率有很多的提升。
如果你也有很多私藏的脚本,不妨也分享出来,让小鱼也多学习学习呢~

猜你喜欢

转载自blog.csdn.net/wuyoudeyuer/article/details/122660626