使用Python实现五个自动化场景

相比大家都听过自动化生产线、自动化办公等词汇,在没有人工干预的情况下,机器可以自己完成各项任务,这大大提升了工作效率。 编程世界里有各种各样的自动化脚本,来完成不同的任务。
尤其python非常适合编写自动化脚本,因为它语法简洁易懂,而且有丰富的第三方工具库。
这次我们使用python来实现几个自动化场景,或许可以用到你的工作中。
1、自动化阅读网页新闻 这个脚本能够实现从网页中抓取文本,然后自动化语音朗读,当你想听新闻的时候,这是个不错的选择。
代码分为两大部分,第一通过爬虫抓取网页文本呢,第二通过阅读工具来朗读文本。
需要的第三方库:
beautiful soup - 经典的html/xml文本解析器,用来提取爬下来的网页信息
requests - 好用到逆天的http工具,用来向网页发送请求获取数据
pyttsx3 - 将文本转换为语音,并控制速率、频率和语音
import pyttsx3import requestsfrom bs4 import beautifulsoupengine = pyttsx3.init('sapi5')voices = engine.getproperty('voices')newvoicerate = 130                       ## reduce the speech rateengine.setproperty('rate',newvoicerate)engine.setproperty('voice', voices[1].id)def speak(audio):  engine.say(audio)  engine.runandwait()text = str(input(paste article))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 fileengine.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 emailmessageimport pandas as pddef 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 messageif __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 datasetsimport seaborn as sns### printing inbuilt datasets of seaborn libraryprint(sns.get_dataset_names())### loading titanic datasetdf=sns.load_dataset('titanic')### importing the libraryimport dtale#### generating quick summarydtale.show(df) 5、自动桌面提示 这个脚本会自动触发windows桌面通知,提示重要事项,比如说:您已工作两小时,该休息了
我们可以设定固定时间提示,比如隔10分钟、1小时等
用到的第三方库:
win10toast - 用于发送桌面通知的工具
from win10toast import toastnotifierimport timetoaster = toastnotifier()header = input(what you want me to remember)text = input(releated message)time_min=float(input(in how many minutes?))time_min = time_min * 60print(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能实现的自动化功能非常丰富,如果你可以“偷懒”的需求场景不妨试试。
原文标题:5 个方便好用的 python 自动化脚本,拿来即用!
文章出处:【微信公众号:linux爱好者】欢迎添加关注!文章转载请注明出处。

苹果充电接口新专利曝光,或使用磁吸固定充电方式
石英晶振缺货涨价问题成为业界关注热点
一名软件工程师的成长经历
数字孪生工厂3D交互模型,智慧城市园区三维仿真模型
基于ICM105C图像传感器实现设备采集系统和接口设计
使用Python实现五个自动化场景
一汽红旗创造国产高端品牌第一次,提前11天完成年产20万辆目标
这四种常用圆形连接器别再弄混了!
射频同轴电缆衰减一般多少
电磁式和压电式蜂鸣器的区别
一文了解可控硅与晶闸管的区别
国产自主物联网操作系统厂商RT-Thread获得华强聚丰及思必驰天使轮投资
航芯技术分享 一文带你了解汽车上的OBD
日本半导体工程师需求呈爆炸式增长 台积电等大型企业助力科技发展
一种高性能折叠共源共栅单级运算放大器设计概述
电源模块DC-DC和AC-DC介绍及常见问题
安防系统有哪些
受疫情影响 安森美大量裁员
解释铜缆网线对于数据中心为什么不可或缺
DC/DC转换器中的电流检测电路设计方案