相对于自动化生产线和办公自动化的词汇,无需人工干预,机器可以自行完成各种任务,大大提高了工作效率。编程世界中有各种自动化脚本来完成不同的任务。尤其是Python非常适合编写自动化脚本,因为它的语法简洁易懂,并且拥有丰富的第三方工具库。本次我们使用Python实现了几个自动化场景,可能会用到你的工作中。1.自动朗读网页新闻本脚本可以抓取网页中的文字,然后自动语音朗读。当你想听新闻时,这是一个不错的选择。代码分为两部分,第一部分是通过爬虫爬取网页的文字,第二部分是通过阅读工具朗读文字。需要的第三方库:BeautifulSoup-经典的HTML/XML文本解析器,用于提取爬取的网页信息requests-好用的逆天HTTP工具,用于向网页发送请求获取数据Pyttsx3-转换textForvoice,andcontrolrate,frequencyandvoiceimportpyttsx3importrequestsfrombs4importBeautifulSoupengine=pyttsx3.init('sapi5')voices=engine.getProperty('voices')newVoiceRate=130##降低语音速率engine.setProperty('rate',newVoiceRate)engine.setProperty('voice',voices[1].id)defspeak(audio):engine.say(audio)engine.runAndWait()text=str(input("粘贴文章\n"))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')##如果你想将语音保存为音频文件engine.runAndWait()2.自动lygeneratesketches这个脚本可以将彩色图片转成铅笔素描,对人像和风景都有很好的效果。并且只需几行代码就可以一键生成,适合批量操作,速度非常快。需要第三方库:Opencv——一个可以实现多样化图像和视频处理的计算机视觉工具,带有Python接口"""PhotoSketchingUsingPython"""importcv2img=cv2.imread("elon.jpg")##图像到灰度图像gray_image=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)##灰度图像到倒置灰度图像inverted_gray_image=255-gray_image##模糊倒置灰度图像blurred_inverted_gray_image=cv2.Gaussian_1Blur(inverted,9,9)(0)##反转模糊图像inverted_blurred_image=255-blurred_inverted_gray_image###准备照片素描sketch=cv2.divide(gray_image,inverted_blurred_image,scale=256.0)cv2.imshow("OriginalImage",imgil)cv2.sketch",sketch)cv2.waitKey(0)3.自动发送多封邮件这个脚本可以帮助我们定时批量发送邮件,邮件的内容和附件也可以自定义调整,非常实用。相比mail客户端,Python脚本的优势在于可以智能、批量、定制化程度高地部署邮件服务。需要的第三方库:Email-用于管理电子邮件消息Smtlib-用于将电子邮件发送到SMTP服务器,它定义了一个SMTP客户端会话对象,该对象可以使用SMTP或ESMTP侦听器向Internet上的任何侦听器发送电子邮件Pandasforcomputers-工具用于数据分析和清理importsmtplibfromemail.messageimportEmailMessageimportpandasaspddefsend_email(remail,rsubject,rcontent):email=EmailMessage()##为EmailMessage创建一个对象email['from']='ThePythoneerHere'##发送邮件的人['to']=remail##我们向谁发送邮件['subject']=rsubject##邮件主题email.set_content(rcontent)##邮件内容withsmtplib.SMTP(host='smtp.gmail.com',port=587)assmtp:smtp.ehlo()##服务器对象smtp.starttls()##用于在服务器和客户端之间发送数据smtp.login("deltadelta371@gmail.com","delta@371")##gmail的登录名和密码mtp.send_message(email)##发送邮件print("emailsendto",remail)##打印成功信息if__name__=='__main__':df=pd.read_excel('list.xlsx')length=len(df)+1forindex,itemindf.iterrows():email=item[0]subject=item[1]content=item[2]send_email(email,subject,content)4.自动化数据探索数据探索是一种数据scienceproject第一步,你需要了解数据的基本信息,才能进一步分析更深层次的价值。一般我们使用pandas、matplotlib等工具来探索数据,但是需要自己写很多代码。如果你想提高效率,Dtale是一个不错的选择。Dtale的特点是一行代码生成自动化分析报告。它结合了Flask后端和React前端,为我们提供了一种查看和分析Pandas数据结构的简便方法。我们可以在Jupyter上使用Dtale。需要第三方库:Dtale-自动生成分析报告('titanic')###ImportingTheLibraryimportdtale####GeneratingQuickSummarydtale.show(df)5.自动桌面提示该脚本会自动触发windows桌面通知,提示重要事项,例如:你曾为两个小时,该休息了。我们可以设置固定的时间提醒,比如每隔10分钟,1小时等。使用的第三方库:win10toast-发送桌面通知的工具fromwin10toastimportToastNotifierimporttimetoaster=ToastNotifier()header=input("WhatYou要我记住\n")text=input("相关消息\n")time_min=float(input("多少分钟?\n"))time_min=time_min*60print("正在设置提醒..")time.sleep(2)print("allset!")time.sleep(time_min)toaster.show_toast(f"{header}",f"{text}",duration=10,threaded=True)while烤面包机.notification_active():time.sleep(0.005)总结Python可以实现的自动化功能非常丰富。如果可以“偷懒”需求场景,不妨试试。
