Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >5个方便好用的Python自动化脚本

5个方便好用的Python自动化脚本

作者头像
派大星的数据屋
发布于 2022-04-03 06:56:56
发布于 2022-04-03 06:56:56
64400
代码可运行
举报
运行总次数:0
代码可运行

相比大家都听过自动化生产线、自动化办公等词汇,在没有人工干预的情况下,机器可以自己完成各项任务,这大大提升了工作效率。

编程世界里有各种各样的自动化脚本,来完成不同的任务。

尤其Python非常适合编写自动化脚本,因为它语法简洁易懂,而且有丰富的第三方工具库。

这次我们使用Python来实现几个自动化场景,或许可以用到你的工作中。

1、自动化阅读网页新闻

这个脚本能够实现从网页中抓取文本,然后自动化语音朗读,当你想听新闻的时候,这是个不错的选择。

代码分为两大部分,第一通过爬虫抓取网页文本呢,第二通过阅读工具来朗读文本。

需要的第三方库:

Beautiful Soup - 经典的HTML/XML文本解析器,用来提取爬下来的网页信息

requests - 好用到逆天的HTTP工具,用来向网页发送请求获取数据

Pyttsx3 - 将文本转换为语音,并控制速率、频率和语音

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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接口

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  """ 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 - 用于数据分析清洗地工具

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 - 自动生成分析报告

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
### 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 - 用于发送桌面通知的工具

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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能实现的自动化功能非常丰富,如果你可以“偷懒”的需求场景不妨试试。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python大数据分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
建议收藏,22个Python迷你项目(附源码)
目标:创建一个命令行游戏,游戏者可以在石头、剪刀和布之间进行选择,与计算机PK。如果游戏者赢了,得分就会添加,直到结束游戏时,最终的分数会展示给游戏者。
小F
2021/03/01
1K0
Python|让代码替你“说话”
程序员,在其他人眼中往往都是高冷的存在,在他们的眼中能用代码解决的问题绝对不考虑其他的方法,本文让我们用Python来提升一下高冷的档次,让我们用代码来“说话”。
数据山谷
2020/07/21
1.8K0
独家 | 17个可以用于工作自动化的最佳Python脚本(上集)
您是否厌倦了在日常工作中做那些重复性的任务?简单但多功能的Python脚本可以解决您的问题。
数据派THU
2023/11/12
1.5K0
独家 | 17个可以用于工作自动化的最佳Python脚本(上集)
15个Python迷你程序,实用又有趣!
Hi,大家好。Python丰富的开发生态是它的一大优势,各种第三方库、框架和代码,都是前人造好的“轮子”,能够完成很多操作,让你的开发事半功倍。
可可的测试小栈
2022/03/10
8.7K0
15个Python迷你程序,实用又有趣!
用 Python 进行办公自动化都需要学习什么知识呢?
Python 自动化办公,无外乎就是 excel,ppt,word,再加上数据分析、爬虫等技能
周萝卜
2023/08/21
2880
用 Python 进行办公自动化都需要学习什么知识呢?
打造个人听书神器:使用pyttsx3实现文字转语音
在这个信息爆炸的时代,我们每天都在处理海量的文字信息。然而,当眼睛疲惫时,我们是否能够通过其他方式来享受阅读的乐趣呢?答案是肯定的。今天,我将带大家了解如何使用Python中的pyttsx3库,将文字转化为语音,打造一个属于自己的听书神器。
LucianaiB
2024/10/24
9100
21个Python脚本自动执行日常任务(1)
作为编程领域摸爬滚打超过十年的老手,我深刻体会到,自动化那些重复性工作能大大节省我们的时间和精力。
数据科学工厂
2024/12/30
3590
21个Python脚本自动执行日常任务(1)
自动化系列(三)Python实现定时邮件
在日常数据交付中,定时邮件是必不可少的。一般企业的数仓会开发出相关平台供分析师使用,但仅限于SQL语言,虽然大多数场景下足够了,但难免碰到一些复杂的需求需要SQL查询+Python处理,这个时候就需要自定义的定时邮件了。
HsuHeinrich
2023/02/24
5680
自动化系列(三)Python实现定时邮件
Python自动化运维1
psutil是一个跨平台库,用于检索Python中运行的进程和系统利用率(CPU、内存、磁盘、网络、传感器)的信息。支持平台:
全栈工程师修炼指南
2022/09/28
2.6K0
Python自动化运维1
(四十七) python email电子邮件发送普通文本、附件、html格式邮件
各位读者大大们大家好,今天学习使用smtplib发送电子邮件,并记录学习过程欢迎大家一起交流分享。
XXXX-user
2019/07/23
2K0
(四十七) python email电子邮件发送普通文本、附件、html格式邮件
Python的自动化魔法
Python自动化魔法!os模块轻松处理文件,pandas搞定Excel/CSV数据录入,smtplib实现邮件自动发送。BeautifulSoup助你网络抓取,reportlab一键生成PDF报告。告别重复劳动,拥抱高效automation!
云云众生s
2025/03/18
1110
最简单的方式发送邮件,让程序出错自动发邮件
用过 Django 的朋友肯定知道 Django 的优雅和易用,它的 mail 模块也不例外,我用了之后再也离不开,从此发送邮件只用 djangomail。今天分享一下如何使用 djangomail 发送邮件,如何让程序在抛出异常时自动将堆栈信息发送至邮箱。
somenzz
2021/07/01
7310
最简单的方式发送邮件,让程序出错自动发邮件
利用 Python 将 PDF 文档转为语音音频
微信读书里的电子书有配套的自动音频,而且声音优化的不错,比传统的机械朗读听起来舒服很多
AirPython
2021/01/05
1.7K0
利用 Python 将 PDF 文档转为语音音频
利用Python将PDF文档转为MP3音频
微信读书里的电子书有配套的自动音频,而且声音优化的不错,比传统的机械朗读听起来舒服很多。
派大星的数据屋
2022/04/03
1.8K0
利用Python将PDF文档转为MP3音频
Python电子邮件自动化实战案例
在当今的工作环境中,电子邮件仍然是最主要的沟通方式之一。不论是市场营销、客户支持还是日常办公,高效的邮件处理不仅可以提升工作效率,还能优化用户体验。本文将通过几个实战案例,探讨如何利用Python进行电子邮件自动化,从而解放双手,让邮件管理更加智能化。
theskylife
2024/08/07
2350
建议收藏,5个Python迷你项目(附源码)
在使用Python的过程中,我最喜欢的就是Python的各种第三方库,能够完成很多操作。
龙哥
2022/04/12
6430
Python自动化办公小程序:实现报表自动化和自动发送到目的邮箱
作为数据分析师,我们需要经常制作统计分析图表。但是报表太多的时候往往需要花费我们大部分时间去制作报表。这耽误了我们利用大量的时间去进行数据分析。但是作为数据分析师我们应该尽可能去挖掘表格图表数据背后隐藏关联信息,而不是简单的统计表格制作图表再发送报表。既然报表的工作不可免除,那我们应该如何利用我们所学的技术去更好的处理工作呢?这就需要我们制作一个Python小程序让它自己去实现,这样我们就有更多的时间去做数据分析。我们把让程序自己运行的这个过程称为自动化。
Python小二
2022/08/24
5630
Python自动化办公小程序:实现报表自动化和自动发送到目的邮箱
测试和开发工作必备的17个Python自动化代码
您是否厌倦了在日常工作中做那些重复性的任务?简单但多功能的Python脚本可以解决您的问题。
测试小兵
2024/03/04
6320
测试和开发工作必备的17个Python自动化代码
如何利用Python实现工作中的自动化
这类工作大部分是重复性工作,但占据了你比较多的时间,有时候用蛮力做的事情,可以有更省时省力的办法。 作为一名优秀的社会主义接班人,肯定都会有将工作任务自动化的意识,于是我去了解了一下身边不同岗位(HR、产品、运营、市场、数据分析师等)每天需要面对的重复性劳动(肯定会有不全,各位大佬不要喷我~)
润森
2022/08/18
5760
如何利用Python实现工作中的自动化
Python自动化运维1
psutil是一个跨平台库,用于检索Python中运行的进程和系统利用率(CPU、内存、磁盘、网络、传感器)的信息。支持平台:
全栈工程师修炼指南
2020/10/23
1.9K0
Python自动化运维1
相关推荐
建议收藏,22个Python迷你项目(附源码)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验