五个方便好用的Python自动化办公脚本的实现
本文介绍了五个基于Python的自动化办公脚本,涵盖网页新闻自动朗读、彩色图片转铅笔素描、批量定时邮件发送、数据探索分析及桌面通知提醒。通过利用BeautifulSoup、OpenCV、Smtplib等第三方库,这些脚本能有效提升工作效率,适合需要处理重复性任务的办公场景。
自动化生产线和自动化办公的概念已广为人知,其核心在于无需人工干预即可由机器自主完成各项任务,从而显著提升工作效率。
在编程领域,存在多种自动化脚本用于执行特定任务。
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自动化办公脚本的内容请搜索本站以前的文章或继续浏览下面的相关文章,希望大家以后多多支持本站!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













