編程世界里有各種各樣的自動化腳本,來完成不同的任務(wù)。
尤其Python非常適合編寫自動化腳本,因為它語法簡潔易懂,而且有豐富的第三方工具庫。
這次我們使用Python來實現(xiàn)幾個自動化場景,或許可以用到你的工作中。
1、自動化閱讀網(wǎng)頁新聞
這個腳本能夠?qū)崿F(xiàn)從網(wǎng)頁中抓取文本,然后自動化語音朗讀,當你想聽新聞的時候,這是個不錯的選擇。
代碼分為兩大部分,第一通過爬蟲抓取網(wǎng)頁文本呢,第二通過閱讀工具來朗讀文本。
需要的第三方庫:
Beautiful Soup - 經(jīng)典的HTML/XML文本解析器,用來提取爬下來的網(wǎng)頁信息
requests - 好用到逆天的HTTP工具,用來向網(wǎng)頁發(fā)送請求獲取數(shù)據(jù)
Pyttsx3 - 將文本轉(zhuǎn)換為語音,并控制速率、頻率和語音
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、自動生成素描草圖
這個腳本可以把彩色圖片轉(zhuǎn)化為鉛筆素描草圖,對人像、景色都有很好的效果。
而且只需幾行代碼就可以一鍵生成,適合批量操作,非常的快捷。
需要的第三方庫:
Opencv - 計算機視覺工具,可以實現(xiàn)多元化的圖像視頻處理,有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、自動發(fā)送多封郵件
這個腳本可以幫助我們批量定時發(fā)送郵件,郵件內(nèi)容、附件也可以自定義調(diào)整,非常的實用。
相比較郵件客戶端,Python腳本的優(yōu)點在于可以智能、批量、高定制化地部署郵件服務(wù)。
需要的第三方庫:
Email - 用于管理電子郵件消息
Smtlib - 向SMTP服務(wù)器發(fā)送電子郵件,它定義了一個 SMTP 客戶端會話對象,該對象可將郵件發(fā)送到互聯(lián)網(wǎng)上任何帶有 SMTP 或 ESMTP 監(jiān)聽程序的計算機
Pandas - 用于數(shù)據(jù)分析清洗地工具
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("[email protected]","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、自動化數(shù)據(jù)探索
數(shù)據(jù)探索是數(shù)據(jù)科學(xué)項目的第一步,你需要了解數(shù)據(jù)的基本信息才能進一步分析更深的價值。
一般我們會用pandas、matplotlib等工具來探索數(shù)據(jù),但需要自己編寫大量代碼,如果想提高效率,Dtale是個不錯的選擇。
Dtale特點是用一行代碼生成自動化分析報告,它結(jié)合了Flask后端和React前端,為我們提供了一種查看和分析Pandas數(shù)據(jù)結(jié)構(gòu)的簡便方法。
我們可以在Jupyter上實用Dtale。
需要的第三方庫:
Dtale - 自動生成分析報告
###ImportingSeabornLibraryForSomeDatasets
importseabornassns
###PrintingInbuiltDatasetsofSeabornLibrary
print(sns.get_dataset_names())
###LoadingTitanicDataset
df=sns.load_dataset('titanic')
###ImportingTheLibrary
importdtale
####GeneratingQuickSummary
dtale.show(df)
![5d9d18ce-a481-11ec-952b-dac502259ad0.png](https://file1.elecfans.com//web2/M00/94/9E/wKgaomTl9RSABo9iAAExVjXdhgM184.png)
5、自動桌面提示
這個腳本會自動觸發(fā)windows桌面通知,提示重要事項,比如說:您已工作兩小時,該休息了
我們可以設(shè)定固定時間提示,比如隔10分鐘、1小時等
用到的第三方庫:
win10toast - 用于發(fā)送桌面通知的工具
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)
![5daeb20a-a481-11ec-952b-dac502259ad0.png](https://file1.elecfans.com//web2/M00/94/9E/wKgaomTl9RSAc0XUAADEQNSgMIc837.png)
小結(jié)
Python能實現(xiàn)的自動化功能非常豐富,如果你可以“偷懶”的需求場景不妨試試。
原文標題:5 個方便好用的 Python 自動化腳本,拿來即用!
文章出處:【微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
自動化
+關(guān)注
關(guān)注
29文章
5641瀏覽量
79714 -
編寫
+關(guān)注
關(guān)注
0文章
29瀏覽量
8505 -
python
+關(guān)注
關(guān)注
56文章
4811瀏覽量
85076
原文標題:5 個方便好用的 Python 自動化腳本,拿來即用!
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
介紹10個Python自動化腳本
python自動化控制設(shè)備 精選資料分享
python控制CANoe實現(xiàn)自動化測試的方法
工業(yè)自動化如何實現(xiàn)
云測試自動化中的Python
10個殺手級的Python自動化腳本分享
分享10個實用的Python自動化腳本
使用Python腳本實現(xiàn)自動化運維任務(wù)
網(wǎng)絡(luò)工程師學(xué)Python-開源自動化部署工具Fabric
使用Python實現(xiàn)功能測試自動化
![使用<b class='flag-5'>Python</b><b class='flag-5'>實現(xiàn)</b>功能測試<b class='flag-5'>自動化</b>](https://file.elecfans.com/web2/M00/A3/32/pYYBAGRTI9KAZiAdAACJYnJJaVE343.png)
Facebook群組自動化python – 網(wǎng)絡(luò)自動化
![Facebook群組<b class='flag-5'>自動化</b><b class='flag-5'>python</b> – 網(wǎng)絡(luò)<b class='flag-5'>自動化</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Python 模擬鍵盤鼠標的方式實現(xiàn)自動化
![<b class='flag-5'>Python</b> 模擬鍵盤鼠標的方式<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>自動化</b>](https://file1.elecfans.com/web2/M00/AC/16/wKgaomVDRfuABEzZAACT7DEfsSU080.jpg)
評論