編程世界里有各種各樣的自動化腳本,來完成不同的任務。
尤其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文章
5562瀏覽量
79239 -
編寫
+關注
關注
0文章
29瀏覽量
8443 -
python
+關注
關注
56文章
4792瀏覽量
84628
原文標題:5 個方便好用的 Python 自動化腳本,拿來即用!
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論