拿来即用,这5个 Python 自动化脚本好用到起飞
大家好,相比大家都听过自动化生产线、自动化办公等词汇,在没有人工干预的情况下,机器可以自己完成各项任务,这大大提升了工作效率。编程世界里有各种各样的自动化脚本,来完成不同的任务。
尤其Python非常适合编写自动化脚本,因为它语法简洁易懂,而且有丰富的第三方工具库。这次我们使用Python来实现几个自动化场景,或许可以用到你的工作中。
1、自动化阅读网页新闻
这个脚本能够实现从网页中抓取文本,然后自动化语音朗读,当你想听新闻的时候,这是个不错的选择。
代码分为两大部分,第一通过爬虫抓取网页文本呢,第二通过阅读工具来朗读文本。
需要的第三方库:
Beautiful Soup - 经典的HTML/XML文本解析器,用来提取爬下来的网页信息
requests - 好用到逆天的HTTP工具,用来向网页发送请求获取数据
Pyttsx3 - 将文本转换为语音,并控制速率、频率和语音
import pyttsx3
import requests
from bs4 import BeautifulSoup
engine \= pyttsx3.init('sapi5')
voices \= engine.getProperty('voices')
newVoiceRate \= 130 \## Reduce The Speech Rate
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()
2、自动生成素描草图
这个脚本可以把彩色图片转化为铅笔素描草图,对人像、景色都有很好的效果。
而且只需几行代码就可以一键生成,适合批量操作,非常的快捷。
需要的第三方库:
Opencv - 计算机视觉工具,可以实现多元化的图像视频处理,有Python接口
""" Photo Sketching Using Python """
import cv2
img \= cv2.imread("elon.jpg")
\## Image to Gray Image
gray\_image \= cv2.cvtColor(img,cv2.COLOR\_BGR2GRAY)
\## Gray Image to Inverted Gray Image
inverted\_gray\_image \= 255\-gray\_image
\## Blurring The Inverted Gray Image
blurred\_inverted\_gray\_image \= cv2.GaussianBlur(inverted\_gray\_image, (19,19),0)
\## Inverting the blurred image
inverted\_blurred\_image \= 255\-blurred\_inverted\_gray\_image
\### Preparing Photo sketching
sketck \= cv2.divide(gray\_image, inverted\_blurred\_image,scale\= 256.0)
cv2.imshow("Original Image",img)
cv2.imshow("Pencil Sketch", sketck)
cv2.waitKey(0)
3、自动发送多封邮件
这个脚本可以帮助我们批量定时发送邮件,邮件内容、附件也可以自定义调整,非常的实用。
相比较邮件客户端,Python脚本的优点在于可以智能、批量、高定制化地部署邮件服务。
需要的第三方库:
Email - 用于管理电子邮件消息
Smtlib - 向SMTP服务器发送电子邮件,它定义了一个 SMTP 客户端会话对象,该对象可将邮件发送到互联网上任何带有 SMTP 或 ESMTP 监听程序的计算机
Pandas - 用于数据分析清洗地工具
import smtplib
from email.message import EmailMessage
import pandas as pd
def send\_email(remail, rsubject, rcontent):
email \= EmailMessage() \## Creating a object for EmailMessage
email\['from'\] \= 'The Pythoneer Here' \## Person who is sending
email\['to'\] \= remail \## Whom we are sending
email\['subject'\] \= rsubject \## Subject of email
email.set\_content(rcontent) \## content of email
with smtplib.SMTP(host\='smtp.gmail.com',port\=587)as smtp:
smtp.ehlo() \## server object
smtp.starttls() \## used to send data between server and client
smtp.login("deltadelta371@gmail.com","delta@371") \## login id and password of gmail
smtp.send\_message(email) \## Sending email
print("email send to ",remail) \## Printing success message
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)
4、自动化数据探索
数据探索是数据科学项目的第一步,你需要了解数据的基本信息才能进一步分析更深的价值。
一般我们会用pandas、matplotlib等工具来探索数据,但需要自己编写大量代码,如果想提高效率,Dtale是个不错的选择。
Dtale特点是用一行代码生成自动化分析报告,它结合了Flask后端和React前端,为我们提供了一种查看和分析Pandas数据结构的简便方法。
我们可以在Jupyter上实用Dtale。
需要的第三方库:
Dtale - 自动生成分析报告
\### Importing Seaborn Library For Some Datasets
import seaborn as sns
\### Printing Inbuilt Datasets of Seaborn Library
print(sns.get\_dataset\_names())
\### Loading Titanic Dataset
df\=sns.load\_dataset('titanic')
\### Importing The Library
import dtale
\#### Generating Quick Summary
dtale.show(df)
5、自动桌面提示
这个脚本会自动触发windows桌面通知,提示重要事项,比如说:您已工作两小时,该休息了
我们可以设定固定时间提示,比如隔10分钟、1小时等
用到的第三方库:
win10toast - 用于发送桌面通知的工具
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)
今天小编也给大家分享一份Python学习压缩包,里面的内容都是适合零基础小白的笔记,不懂编程也能听懂、看懂。【如果需要的话直接移步文末】,让我们一起学习!
**python完整资料,想要入门Python ,或者正在学习 Python 的同学们如果需要可以 **点击这里领取
————————————————