【Python】5个方便好用的Python自动化脚本
相比大家都聽過自動化生產線、自動化辦公等詞匯,在沒有人工干預的情況下,機器可以自己完成各項任務,這大大提升了工作效率。
編程世界里有各種各樣的自動化腳本,來完成不同的任務。
尤其Python非常適合編寫自動化腳本,因為它語法簡潔易懂,而且有豐富的第三方工具庫。
這次我們使用Python來實現幾個自動化場景,或許可以用到你的工作中。
1、自動化閱讀網頁新聞
這個腳本能夠實現從網頁中抓取文本,然后自動化語音朗讀,當你想聽新聞的時候,這是個不錯的選擇。
代碼分為兩大部分,第一通過爬蟲抓取網頁文本呢,第二通過閱讀工具來朗讀文本。
需要的第三方庫:
Beautiful Soup - 經典的HTML/XML文本解析器,用來提取爬下來的網頁信息
requests - 好用到逆天的HTTP工具,用來向網頁發送請求獲取數據
Pyttsx3 - 將文本轉換為語音,并控制速率、頻率和語音
import?pyttsx3 import?requests from?bs4?import?BeautifulSoup engine?=?pyttsx3.init('sapi5') voices?=?engine.getProperty('voices') newVoiceRate?=?130???????????????????????##?Reduce?The?Speech?Rate engine.setProperty('rate',newVoiceRate) engine.setProperty('voice',?voices[1].id) def?speak(audio):engine.say(audio)engine.runAndWait() text?=?str(input("Paste?article\n")) 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?file engine.runAndWait()2、自動生成素描草圖
這個腳本可以把彩色圖片轉化為鉛筆素描草圖,對人像、景色都有很好的效果。
而且只需幾行代碼就可以一鍵生成,適合批量操作,非常的快捷。
需要的第三方庫:
Opencv - 計算機視覺工具,可以實現多元化的圖像視頻處理,有Python接口
"""?Photo?Sketching?Using?Python?"""import?cv2img?=?cv2.imread("elon.jpg")##?Image?to?Gray?Imagegray_image?=?cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)##?Gray?Image?to?Inverted?Gray?Imageinverted_gray_image?=?255-gray_image##?Blurring?The?Inverted?Gray?Imageblurred_inverted_gray_image?=?cv2.GaussianBlur(inverted_gray_image,?(19,19),0)##?Inverting?the?blurred?imageinverted_blurred_image?=?255-blurred_inverted_gray_image###?Preparing?Photo?sketchingsketck?=?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?EmailMessage import?pandas?as?pddef?send_email(remail,?rsubject,?rcontent):email?=?EmailMessage()??????????????????????????##?Creating?a?object?for?EmailMessageemail['from']?=?'The?Pythoneer?Here'????????????##?Person?who?is?sendingemail['to']?=?remail????????????????????????????##?Whom?we?are?sendingemail['subject']?=?rsubject?????????????????????##?Subject?of?emailemail.set_content(rcontent)?????????????????????##?content?of?emailwith?smtplib.SMTP(host='smtp.gmail.com',port=587)as?smtp:?????smtp.ehlo()?????????????????????????????????##?server?objectsmtp.starttls()?????????????????????????????##?used?to?send?data?between?server?and?clientsmtp.login("deltadelta371@gmail.com","delta@371")?##?login?id?and?password?of?gmailsmtp.send_message(email)????????????????????##?Sending?emailprint("email?send?to?",remail)??????????????##?Printing?success?messageif?__name__?==?'__main__':df?=?pd.read_excel('list.xlsx')length?=?len(df)+1for?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?Datasets import?seaborn?as?sns###?Printing?Inbuilt?Datasets?of?Seaborn?Library print(sns.get_dataset_names())###?Loading?Titanic?Dataset df=sns.load_dataset('titanic')###?Importing?The?Library import?dtale####?Generating?Quick?Summary dtale.show(df)5、自動桌面提示
這個腳本會自動觸發windows桌面通知,提示重要事項,比如說:您已工作兩小時,該休息了
我們可以設定固定時間提示,比如隔10分鐘、1小時等
用到的第三方庫:
win10toast - 用于發送桌面通知的工具
from?win10toast?import?ToastNotifier import?time toaster?=?ToastNotifier()header?=?input("What?You?Want?Me?To?Remember\n") text?=?input("Releated?Message\n") time_min=float(input("In?how?many?minutes?\n"))time_min?=?time_min?*?60 print("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能實現的自動化功能非常豐富,如果你可以“偷懶”的需求場景不妨試試。
參考:
https://medium.com/pythoneers/10-handy-automation-scripts-you-should-try-using-python-fc9450116938?
往期精彩回顧適合初學者入門人工智能的路線及資料下載中國大學慕課《機器學習》(黃海廣主講)機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載本站qq群955171419,加入微信群請掃碼:總結
以上是生活随笔為你收集整理的【Python】5个方便好用的Python自动化脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 查看eclipse 内存使用情况
- 下一篇: 【Python】一行python代码利用