分享4個方便且好用的Python自動化腳本
前言
相比大家都聽過自動化生產(chǎn)線、自動化辦公等詞匯,在沒有人工干預的情況下,機器可以自己完成各項任務(wù),這大大提升了工作效率。
編程世界里有各種各樣的自動化腳本,來完成不同的任務(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)換為語音,并控制速率、頻率和語音
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、自動生成素描草圖
這個腳本可以把彩色圖片轉(zhuǎn)化為鉛筆素描草圖,對人像、景色都有很好的效果。
而且只需幾行代碼就可以一鍵生成,適合批量操作,非常的快捷。
需要的第三方庫:
Opencv - 計算機視覺工具,可以實現(xiàn)多元化的圖像視頻處理,有Python接口
""" 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)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ù)分析清洗地工具
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)4、自動化數(shù)據(jù)探索
數(shù)據(jù)探索是數(shù)據(jù)科學項目的第一步,你需要了解數(shù)據(jù)的基本信息才能進一步分析更深的價值。
一般我們會用pandas、matplotlib等工具來探索數(shù)據(jù),但需要自己編寫大量代碼,如果想提高效率,Dtale是個不錯的選擇。
Dtale特點是用一行代碼生成自動化分析報告,它結(jié)合了Flask后端和React前端,為我們提供了一種查看和分析Pandas數(shù)據(jù)結(jié)構(gòu)的簡便方法。
我們可以在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、給大家分享一下自動化測試工具
1.Selenium
Selenium 可能是網(wǎng)頁應(yīng)用中最流行的開源自動化測試框架。起源于 2000 年,10 多年來不斷地完善,Selenium 成為許多 Web 自動化測試人員的選擇,尤其是那些有高級編程和腳本技能的人。Selenium 也成為了其他開源自動化測試工具比如 Katalon Studio,Watir,Protractor 和 Robot Framework 的核心框架。
Selenium 支持多系統(tǒng)環(huán)境(Windows,Mac,Linux)以及多種瀏覽器(Chrome,F(xiàn)ireFox,IE 以及無頭瀏覽器(沒有界面))。它的腳本可以由各種各樣的編程語言編寫,比如 Java,Groovy,Python,C#,PHP,Ruby 以及 Perl。
因為 Selenium 的靈活性,測試人員可以寫各種復雜的、高級的測試腳本來應(yīng)對各種復雜的問題,它需要高級的編程技能和付出來構(gòu)建滿足自己需求的自動化測試框架和庫。
2. Robot framework
Robot Framework 是一個開源的自動化測試框架,它實現(xiàn)了關(guān)鍵字測試驅(qū)動來實現(xiàn)測試驅(qū)動開發(fā)(ATDD)。Robot Framework 為不同的自動化測試需求提供了不同的框架。它的測試能力可以通過 Python 和 Java 測試庫得到擴展。Selenium WebDriver 是 Robot Framework 中內(nèi)置的流行庫。
3. Katalon Studio
Katalon Studio 是一個在網(wǎng)頁應(yīng)用、移動和網(wǎng)頁服務(wù)方面功能強大的自動化測試解決方案。基于 Selenium 和 Appium 框架,Katalon Studio 集成了這些框架在軟件自動化方面的優(yōu)點。
這個工具支持不同層次的測試技能集。非程序員也可以快速上手一個自動化測試項目(如使用間諜對象記錄測試腳本),同時也節(jié)省了程序員和高級測試人員構(gòu)建新庫和維護腳本的時間。
Katalon Studio 可以集成到 CI/CD 過程中,而且兼容流行的質(zhì)量處理工具,包括 qTest,JIRA,Jenkins 和 Git。它提供了一個很好的功能叫Katalon 分析,通過指標和圖表向用戶提供全面的測試報告。
python自動化測試就相當你有在擁有了這些工具的基礎(chǔ)上,還擁有了自己的一座代碼“工廠”,需要什么工具直接從工廠里去拿來直接用。
總結(jié)
到此這篇關(guān)于Python自動化腳本的文章就介紹到這了,更多相關(guān)Python自動化腳本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pytorch pth 格式轉(zhuǎn)ONNX 格式的詳細過程
PyTorch 訓練的模型,需要在Jetson nano 上部署,jetson 原生提供了TensorRT 的支持,所以一個比較好的方式是把它轉(zhuǎn)換成ONNX 格式,然后在通過ONNX 轉(zhuǎn)換成TensorRT 格式,這篇文章主要介紹了Pytorch pth 格式轉(zhuǎn)ONNX 格式,需要的朋友可以參考下2023-05-05
Python selenium 實例之通過 selenium 查詢禪道是否有任務(wù)或者BUG
這篇文章主要介紹了Python selenium 實例之通過 selenium 查詢禪道是否有任務(wù)或者BUG的相關(guān)資料,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2021-09-09
python實現(xiàn)簡單的socket server實例
這篇文章主要介紹了python實現(xiàn)簡單的socket server的方法,實例分析了Python中socket的操作技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04

