脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - 分享5个方便好用的Python自动化脚本

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

2022-10-18 11:06朱卫军 Python

这篇文章主要介绍了分享5个方便好用的Python自动化脚本,这次我们使用Python来实现几个自动化场景,或许可以用到你的工作中或者对你的学习有所帮助,需要的朋友可以参考一下

前言:

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

编程世界里有各种各样的自动化脚本,来完成不同的任务。尤其Python非常适合编写自动化脚本,因为它语法简洁易懂,而且有丰富的第三方工具库。这次我们使用Python来实现几个自动化场景,或许可以用到你的工作中。

1、自动化阅读网页新闻

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

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

需要的第三方库:

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

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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接口

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  """ 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)

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

3、自动发送多封邮件

这个脚本可以帮助我们批量定时发送邮件,邮件内容、附件也可以自定义调整,非常的实用。

相比较邮件客户端,Python脚本的优点在于可以智能、批量、高定制化地部署邮件服务。

需要的第三方库:

Email - 用于管理电子邮件消息

Smtlib - 向SMTP服务器发送电子邮件,它定义了一个 SMTP 客户端会话对象,该对象可将邮件发送到互联网上任何带有 SMTP 或 ESMTP 监听程序的计算机

Pandas - 用于数据分析清洗地工具

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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、自动化数据探索

数据探索是数据科学项目的第一步,你需要了解数据的基本信息才能进一步分析更深的价值。

一般我们会用pandasmatplotlib等工具来探索数据,但需要自己编写大量代码,如果想提高效率,Dtale是个不错的选择。

Dtale特点是用一行代码生成自动化分析报告,它结合了Flask后端和React前端,为我们提供了一种查看和分析Pandas数据结构的简便方法。

我们可以在Jupyter上实用Dtale。

需要的第三方库:

Dtale - 自动生成分析报告

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
### 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个方便好用的Python自动化脚本

5、自动桌面提示

这个脚本会自动触发windows桌面通知,提示重要事项,比如说:您已工作两小时,该休息了

我们可以设定固定时间提示,比如隔10分钟、1小时等

用到的第三方库:

win10toast - 用于发送桌面通知的工具

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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)     

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

小结:

Python能实现的自动化功能非常丰富,如果你可以“偷懒”的需求场景不妨试试。

到此这篇关于分享5个方便好用的Python自动化脚本的文章就介绍到这了,更多相关Python自动化脚本内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://zhuanlan.zhihu.com/p/460983820

延伸 · 阅读

精彩推荐
  • Python分析python并发网络通信模型

    分析python并发网络通信模型

    随着互联网和物联网的高速发展,使用网络的人数和电子设备的数量急剧增长,其也对互联网后台服务程序提出了更高的性能和并发要求。本文主要分析比...

    凌逆战7942021-12-01
  • PythonPython编码爬坑指南(必看)

    Python编码爬坑指南(必看)

    下面小编就为大家带来一篇Python编码爬坑指南(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    Python教程网3062020-08-26
  • Python代码实例讲解python3的编码问题

    代码实例讲解python3的编码问题

    在本篇内容里小编给各位分享了关于python3的编码问题以及相关实例代码,有需要的朋友们参考一下。...

    卡和我5482021-08-05
  • Python13个有趣又好玩的Python游戏代码分享

    13个有趣又好玩的Python游戏代码分享

    今天小编跟大家分享13个有趣又好玩的Python小游戏示例代码,教你如何通过边打游戏边学编程!感兴趣的小伙伴快跟随小编一起学习起来...

    Python学习与数据挖掘4302022-10-12
  • Pythonpython 实现删除文件或文件夹实例详解

    python 实现删除文件或文件夹实例详解

    这篇文章主要介绍了python 实现删除文件或文件夹实例详解的相关资料,这里附有实例代码,需要的朋友可以参考下...

    脚本之家3742020-09-13
  • PythonPython几种绘制时间线图的方法

    Python几种绘制时间线图的方法

    这篇文章主要介绍了Python几种绘制时间线图的方法,Matplotlib 作为 Python 家族最为重要的可视化工具,其基本的 API 以及绘制流程还是需要掌握的...

    zhouluobo6632022-08-10
  • Pythonpython变量赋值方法(可变与不可变)

    python变量赋值方法(可变与不可变)

    今天小编就为大家分享一篇python变量赋值方法(可变与不可变),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    魔亦有道5142021-05-14
  • Pythonpython 非递归解决n皇后问题的方法

    python 非递归解决n皇后问题的方法

    这篇文章主要介绍了python 非递归解决n皇后问题的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友...

    skrrrr__10662021-09-24