時間:2022-03-01來源:www.farandoo.com作者:電腦系統城
前言:
相比大家都聽過自動化生產線、自動化辦公等詞匯,在沒有人工干預的情況下,機器可以自己完成各項任務,這大大提升了工作效率。
編程世界里有各種各樣的自動化腳本,來完成不同的任務。尤其Python非常適合編寫自動化腳本,因為它語法簡潔易懂,而且有豐富的第三方工具庫。這次我們使用Python來實現幾個自動化場景,或許可以用到你的工作中。
這個腳本能夠實現從網頁中抓取文本,然后自動化語音朗讀,當你想聽新聞的時候,這是個不錯的選擇。
代碼分為兩大部分,第一通過爬蟲抓取網頁文本呢,第二通過閱讀工具來朗讀文本。
需要的第三方庫:
Beautiful Soup
- 經典的HTML/XML文本解析器,用來提取爬下來的網頁信息
requests
- 好用到逆天的HTTP工具,用來向網頁發送請求獲取數據
Pyttsx3
- 將文本轉換為語音,并控制速率、頻率和語音
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
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() |
這個腳本可以把彩色圖片轉化為鉛筆素描草圖,對人像、景色都有很好的效果。
而且只需幾行代碼就可以一鍵生成,適合批量操作,非常的快捷。
需要的第三方庫:
Opencv - 計算機視覺工具,可以實現多元化的圖像視頻處理,有Python接口
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
""" Photo Sketching Using Python """ import cv2 img = cv2.imread( "elon.jpg" ) ## Image to Gray Image gray_image = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) ## Gray Image to Inverted Gray Image inverted_gray_image = 255 - gray_image ## Blurring The Inverted Gray Image blurred_inverted_gray_image = cv2.GaussianBlur(inverted_gray_image, ( 19 , 19 ), 0 ) ## Inverting the blurred image inverted_blurred_image = 255 - blurred_inverted_gray_image ### Preparing Photo sketching sketck = cv2.divide(gray_image, inverted_blurred_image,scale = 256.0 ) cv2.imshow( "Original Image" ,img) cv2.imshow( "Pencil Sketch" , sketck) cv2.waitKey( 0 ) |
這個腳本可以幫助我們批量定時發送郵件,郵件內容、附件也可以自定義調整,非常的實用。
相比較郵件客戶端,Python腳本的優點在于可以智能、批量、高定制化地部署郵件服務。
需要的第三方庫:
Email - 用于管理電子郵件消息
Smtlib - 向SMTP服務器發送電子郵件,它定義了一個 SMTP 客戶端會話對象,該對象可將郵件發送到互聯網上任何帶有 SMTP 或 ESMTP 監聽程序的計算機
Pandas - 用于數據分析清洗地工具
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
import smtplib from email.message import EmailMessage import pandas as pd def send_email(remail, rsubject, rcontent): email = EmailMessage() ## Creating a object for EmailMessage email[ 'from' ] = 'The Pythoneer Here' ## Person who is sending email[ 'to' ] = remail ## Whom we are sending email[ 'subject' ] = rsubject ## Subject of email email.set_content(rcontent) ## content of email with smtplib.SMTP(host = 'smtp.gmail.com' ,port = 587 )as smtp: smtp.ehlo() ## server object smtp.starttls() ## used to send data between server and client smtp.login( "deltadelta371@gmail.com" , "delta@371" ) ## login id and password of gmail smtp.send_message(email) ## Sending email print ( "email send to " ,remail) ## Printing success message if __name__ = = '__main__' : df = pd.read_excel( 'list.xlsx' ) length = len (df) + 1 for index, item in df.iterrows(): email = item[ 0 ] subject = item[ 1 ] content = item[ 2 ] send_email(email,subject,content) |
數據探索是數據科學項目的第一步,你需要了解數據的基本信息才能進一步分析更深的價值。
一般我們會用pandas
、matplotlib
等工具來探索數據,但需要自己編寫大量代碼,如果想提高效率,Dtale是個不錯的選擇。
Dtale特點是用一行代碼生成自動化分析報告,它結合了Flask
后端和React前端,為我們提供了一種查看和分析Pandas數據結構的簡便方法。
我們可以在Jupyter上實用Dtale。
需要的第三方庫:
Dtale - 自動生成分析報告
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
### 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) |
這個腳本會自動觸發windows
桌面通知,提示重要事項,比如說:您已工作兩小時,該休息了
我們可以設定固定時間提示,比如隔10分鐘、1小時等
用到的第三方庫:
win10toast - 用于發送桌面通知的工具
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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能實現的自動化功能非常豐富,如果你可以“偷懶”的需求場景不妨試試。
到此這篇關于分享5個方便好用的Python自動化腳本的文章就介紹到這了!
2022-03-01
PHP如何從txt文件中讀取數據詳解2021-03-29
Python中pycharm編輯器界面風格修改方法2021-03-29
PyTorch兩種安裝方法