广告位联系
返回顶部
分享到

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

python 来源:互联网 作者:秩名 发布时间:2022-03-01 14:57:01 人浏览
摘要

前言: 相比大家都听过自动化生产线、自动化办公等词汇,在没有人工干预的情况下,机器可以自己完成各项任务,这大大提升了工作效率。 编程世界里有各种各样的自动化脚本,来

前言:

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

编程世界里有各种各样的自动化脚本,来完成不同的任务。尤其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)

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、自动化数据探索

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

一般我们会用pandas、matplotlib等工具来探索数据,但需要自己编写大量代码,如果想提高效率,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、自动桌面提示

这个脚本会自动触发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)     

小结:

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


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 : https://zhuanlan.zhihu.com/p/460983820
相关文章
  • Python Django教程之实现新闻应用程序

    Python Django教程之实现新闻应用程序
    Django是一个用Python编写的高级框架,它允许我们创建服务器端Web应用程序。在本文中,我们将了解如何使用Django创建新闻应用程序。 我们将
  • 书写Python代码的一种更优雅方式(推荐!)

    书写Python代码的一种更优雅方式(推荐!)
    一些比较熟悉pandas的读者朋友应该经常会使用query()、eval()、pipe()、assign()等pandas的常用方法,书写可读性很高的「链式」数据分析处理代码
  • Python灰度变换中伽马变换分析实现

    Python灰度变换中伽马变换分析实现
    1. 介绍 伽马变换主要目的是对比度拉伸,将图像灰度较低的部分进行修正 伽马变换针对的是对单个像素点的变换,也就是点对点的映射 形
  • 使用OpenCV实现迷宫解密的全过程

    使用OpenCV实现迷宫解密的全过程
    一、你能自己走出迷宫吗? 如下图所示,可以看到是一张较为复杂的迷宫图,相信也有人尝试过自己一点一点的找出口,但我们肉眼来解谜
  • Python中的数据精度问题的介绍

    Python中的数据精度问题的介绍
    一、python运算时精度问题 1.运行时精度问题 在Python中(其他语言中也存在这个问题,这是计算机采用二进制导致的),有时候由于二进制和
  • Python随机值生成的常用方法

    Python随机值生成的常用方法
    一、随机整数 1.包含上下限:[a, b] 1 2 3 4 import random #1、随机整数:包含上下限:[a, b] for i in range(10): print(random.randint(0,5),end= | ) 查看运行结
  • Python字典高级用法深入分析讲解
    一、 collections 中 defaultdict 的使用 1.字典的键映射多个值 将下面的列表转成字典 l = [(a,2),(b,3),(a,1),(b,4),(a,3),(a,1),(b,3)] 一个字典就是一个键对
  • Python浅析多态与鸭子类型使用实例
    什么多态:同一事物有多种形态 为何要有多态=》多态会带来什么样的特性,多态性 多态性指的是可以在不考虑对象具体类型的情况下而直
  • Python字典高级用法深入分析介绍
    一、 collections 中 defaultdict 的使用 1.字典的键映射多个值 将下面的列表转成字典 l = [(a,2),(b,3),(a,1),(b,4),(a,3),(a,1),(b,3)] 一个字典就是一个键对
  • Python淘宝或京东等秒杀抢购脚本实现(秒杀脚本

    Python淘宝或京东等秒杀抢购脚本实现(秒杀脚本
    我们的目标是秒杀淘宝或京东等的订单,这里面有几个关键点,首先需要登录淘宝或京东,其次你需要准备好订单,最后要在指定时间快速
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计