编程世界里有各种各样的自动化脚本,来完成不同的任务。
尤其Python非常适合编写自动化脚本,因为它语法简洁易懂,而且有丰富的第三方工具库。
这次我们使用Python来实现几个自动化场景,或许可以用到你的工作中。
1、自动化阅读网页新闻
这个脚本能够实现从网页中抓取文本,然后自动化语音朗读,当你想听新闻的时候,这是个不错的选择。
代码分为两大部分,第一通过爬虫抓取网页文本呢,第二通过阅读工具来朗读文本。
需要的第三方库:
Beautiful Soup - 经典的HTML/XML文本解析器,用来提取爬下来的网页信息
requests - 好用到逆天的HTTP工具,用来向网页发送请求获取数据
Pyttsx3 - 将文本转换为语音,并控制速率、频率和语音
importpyttsx3
importrequests
frombs4importBeautifulSoup
engine=pyttsx3.init('sapi5')
voices=engine.getProperty('voices')
newVoiceRate=130##ReduceTheSpeechRate
engine.setProperty('rate',newVoiceRate)
engine.setProperty('voice',voices[1].id)
defspeak(audio):
engine.say(audio)
engine.runAndWait()
text=str(input("Pastearticle
"))
res=requests.get(text)
soup=BeautifulSoup(res.text,'html.parser')
articles=[]
foriinrange(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')##Ifyouwanttosavethespeechasaaudiofile
engine.runAndWait()
2、自动生成素描草图
这个脚本可以把彩色图片转化为铅笔素描草图,对人像、景色都有很好的效果。
而且只需几行代码就可以一键生成,适合批量操作,非常的快捷。
需要的第三方库:
Opencv - 计算机视觉工具,可以实现多元化的图像视频处理,有Python接口
"""PhotoSketchingUsingPython"""
importcv2
img=cv2.imread("elon.jpg")
##ImagetoGrayImage
gray_image=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
##GrayImagetoInvertedGrayImage
inverted_gray_image=255-gray_image
##BlurringTheInvertedGrayImage
blurred_inverted_gray_image=cv2.GaussianBlur(inverted_gray_image,(19,19),0)
##Invertingtheblurredimage
inverted_blurred_image=255-blurred_inverted_gray_image
###PreparingPhotosketching
sketck=cv2.divide(gray_image,inverted_blurred_image,scale=256.0)
cv2.imshow("OriginalImage",img)
cv2.imshow("PencilSketch",sketck)
cv2.waitKey(0)
3、自动发送多封邮件
这个脚本可以帮助我们批量定时发送邮件,邮件内容、附件也可以自定义调整,非常的实用。
相比较邮件客户端,Python脚本的优点在于可以智能、批量、高定制化地部署邮件服务。
需要的第三方库:
Email - 用于管理电子邮件消息
Smtlib - 向SMTP服务器发送电子邮件,它定义了一个 SMTP 客户端会话对象,该对象可将邮件发送到互联网上任何带有 SMTP 或 ESMTP 监听程序的计算机
Pandas - 用于数据分析清洗地工具
importsmtplib
fromemail.messageimportEmailMessage
importpandasaspd
defsend_email(remail,rsubject,rcontent):
email=EmailMessage()##CreatingaobjectforEmailMessage
email['from']='ThePythoneerHere'##Personwhoissending
email['to']=remail##Whomwearesending
email['subject']=rsubject##Subjectofemail
email.set_content(rcontent)##contentofemail
withsmtplib.SMTP(host='smtp.gmail.com',port=587)assmtp:
smtp.ehlo()##serverobject
smtp.starttls()##usedtosenddatabetweenserverandclient
smtp.login("deltadelta371@gmail.com","delta@371")##loginidandpasswordofgmail
smtp.send_message(email)##Sendingemail
print("emailsendto",remail)##Printingsuccessmessage
if__name__=='__main__':
df=pd.read_excel('list.xlsx')
length=len(df)+1
forindex,itemindf.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 - 自动生成分析报告
###ImportingSeabornLibraryForSomeDatasets
importseabornassns
###PrintingInbuiltDatasetsofSeabornLibrary
print(sns.get_dataset_names())
###LoadingTitanicDataset
df=sns.load_dataset('titanic')
###ImportingTheLibrary
importdtale
####GeneratingQuickSummary
dtale.show(df)
5、自动桌面提示
这个脚本会自动触发windows桌面通知,提示重要事项,比如说:您已工作两小时,该休息了
我们可以设定固定时间提示,比如隔10分钟、1小时等
用到的第三方库:
win10toast - 用于发送桌面通知的工具
fromwin10toastimportToastNotifier
importtime
toaster=ToastNotifier()
header=input("WhatYouWantMeToRemember
")
text=input("ReleatedMessage
")
time_min=float(input("Inhowmanyminutes?
"))
time_min=time_min*60
print("Settingupreminder..")
time.sleep(2)
print("allset!")
time.sleep(time_min)
toaster.show_toast(f"{header}",f"{text}",duration=10,threaded=True)
whiletoaster.notification_active():time.sleep(0.005)
小结
Python能实现的自动化功能非常丰富,如果你可以“偷懒”的需求场景不妨试试。
原文标题:5 个方便好用的 Python 自动化脚本,拿来即用!
文章出处:【微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。
-
自动化
+关注
关注
29文章
5585浏览量
79310 -
编写
+关注
关注
0文章
29浏览量
8455 -
python
+关注
关注
56文章
4797浏览量
84719
原文标题:5 个方便好用的 Python 自动化脚本,拿来即用!
文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论