用于自動化的 Python:提高您的生產(chǎn)力

言鼎科技 2023-05-22 538

Python 自動化簡介

對于每個手動任務(wù),都有自動化,對于每個自動化,您可以選擇使用多種工具和技術(shù)。

但哪種技術(shù)位居榜首?

哪一個可以幫助您進(jìn)行敏捷開發(fā)?

畢竟,盡管對自動化進(jìn)行了大量投資,但沒有人愿意花費數(shù)小時。

Google Trends過去 12 個月的統(tǒng)計數(shù)據(jù)顯示,在考慮自動化技術(shù)時,Python 位居榜首。一門已有 30 年歷史的編程語言仍然是開發(fā)人員的最愛,而最近使用Python 進(jìn)行自動化的用例,即 ChatGPT更是熱門話題。

那么,讓我們來討論一下 Python 如何在使自動化智能化和改善用戶生活方面發(fā)揮關(guān)鍵作用。

為什么 Python 最適合自動化?

在智能自動化和超自動化方面,Python 是開發(fā)人員首選的編程語言,因為它具有可擴(kuò)展性、速度更快、提供 24/7 支持并且具有跨平臺可訪問性。好吧,這些只是討論的最初要點;在后續(xù)的博客中,我們將深入探討。

正如您在介紹中閱讀了關(guān)于Python 在自動化項目中的流行程度一樣,讓我們來討論一下為什么每個產(chǎn)品負(fù)責(zé)人都像您一樣更喜歡 Python 來實現(xiàn)可擴(kuò)展和創(chuàng)新的自動化。

事實上,由于幾個令人信服的原因,Python 位居榜首,例如

用于自動化的 Python:提高您的生產(chǎn)力

可理解的語法

與其他編程語言不同,Python 復(fù)制了英語,使其成為唯一具有最易于理解語法的編程語言。此外,Python 比其他編程語言需要更少的編碼,使其成為最受 Python 新手和經(jīng)驗豐富的專業(yè)人士歡迎的開源編程語言。

創(chuàng)建 Python 腳本很容易

使用直觀且吸引人的 GUI 工具包;Python 開發(fā)人員可以輕松快速地創(chuàng)建自動化腳本。這些腳本可幫助您以最少的努力自動執(zhí)行重復(fù)性任務(wù)。

它促進(jìn)敏捷開發(fā)

Python 是一種開源且易于使用的編程語言,它對自動化任務(wù)和實施業(yè)務(wù)流程自動化所需的腳本做出了重大貢獻(xiàn)??焖俚淖詣踊瘜?dǎo)致更快的上市時間。所以,用python自動化打發(fā)項目開發(fā)等待期。

它支持跨平臺開發(fā)

由于 Python 是一種獨立的編程語言,因此在 Python 環(huán)境中運行自動化腳本可以在任何平臺(Windows、Linux 和 Mac)上無縫運行。

自由利用第三方圖書館

自動化任務(wù)總是很復(fù)雜,但是當(dāng)您使用 Python 進(jìn)行自動化時,整個自動化游戲就變成了兒戲。此外,該語言對各種第三方庫的可訪問性使得實現(xiàn)大規(guī)模自動化成為可能。庫的范圍包括數(shù)據(jù)操作、網(wǎng)絡(luò)抓取和 API 自動化。

與所有類型的自動化任務(wù)兼容

無論是數(shù)據(jù)、桌面、網(wǎng)絡(luò)、測試、云、Web 還是系統(tǒng)自動化任務(wù),Python 都與所有任務(wù)保持兼容。您為自動化命名,Python 為您完成。

準(zhǔn)備好使用 Python 自動化您的工作流程了嗎?
立即聯(lián)系我們,了解我們的
Python 開發(fā)服務(wù)如何幫助您簡化流程并提高生產(chǎn)力。

您可以使用 Python 自動化的前五個流程

Python 是一種古老但最受開發(fā)人員采用的編程語言。由于其多功能性和多范式,幾乎所有行業(yè)和利基市場都在探索這種優(yōu)秀的編程語言。

正如上一點所解釋的,Python 能夠自動化幾乎所有的業(yè)務(wù)流程,無論它們有多復(fù)雜或多密集。由于它支持 ML 模型并有助于在機(jī)器人和業(yè)務(wù)流程自動化中引入 AI 庫,因此 Python 是許多人自動化耗時、容易出錯和勞動密集型任務(wù)的選擇。

以下是您可以使用 Python 自動執(zhí)行的前五項任務(wù),

電子郵件自動化

發(fā)送電子郵件是一項繁瑣的任務(wù),但如果它是自動化的,您可以將更多時間花在富有成效的工作上呢?“smtplib 庫”是最出色的Python 庫之一,可用于通過簡單郵件傳輸協(xié)議自動執(zhí)行郵件發(fā)送任務(wù)。

以下是使用 Python 的電子郵件自動化腳本示例:

用于自動化的 Python:提高您的生產(chǎn)力
導(dǎo)入 smtplibdef send_email(from_addr, to_addr, subject, body, password):
message = f"From: {from_addr}\nTo: {to_addr}\nSubject: {subject}\n\n{body}"
服務(wù)器 = smtplib.SMTP('smtp.gmail.com', 587)
服務(wù)器.starttls()
server.login(from_addr,密碼)
server.sendmail(from_addr, to_addr, message)
服務(wù)器.quit()# 用法示例:send_email(' your_email@gmail.com ', 'recipient_email@example.com ', '測試郵件', '這是一封使用 Python 發(fā)送的測試郵件。', 'your_email_password')

文件操作

重復(fù)性任務(wù)容易受到人為錯誤的影響。命名一些任務(wù),例如更改命名約定、復(fù)制舊文件或跨文件夾復(fù)制大量文件會消耗大量時間;另外,任何小錯誤都會使您的全部努力變得毫無價值。

如果您使用 Python 語言進(jìn)行自動化,它將助您一臂之力,滿足您的所有文件管理需求。它使命名副本、刪除、壓縮或在您的設(shè)備上移動文件等任務(wù)變得更加容易、無差錯且易于管理。

下面是一個使用 Python 的文件操作腳本示例:

用于自動化的 Python:提高您的生產(chǎn)力
# 讀取文件內(nèi)容以 open('example.txt', 'r') 作為文件:
內(nèi)容 = file.read()
打印(內(nèi)容)# 將內(nèi)容寫入文件以 open('example.txt', 'w') 作為文件:
file.write('這是一個新行。')# 將內(nèi)容附加到文件以 open('example.txt', 'a') 作為文件:
file.write('\n這是另一行。')

資料整理

從任何報告、PDF 或文檔中手動提取數(shù)據(jù)將是一項艱巨的任務(wù)。此外,也有出錯的機(jī)會。在幾乎不需要幾分鐘的任務(wù)上花費一兩天也不是一個可行的解決方案。

使用 Python 模塊,您可以獲取和編譯任何類型的數(shù)據(jù)。此外,它還允許您編寫 Python 腳本,以幫助從您選擇的文檔中獲取任何大小和類型的數(shù)據(jù)。此外,您可以使用 Python 以您喜歡的文件格式下載提取的大量信息。

下面是一個使用 Python 的數(shù)據(jù)編譯腳本示例:

用于自動化的 Python:提高您的生產(chǎn)力
將熊貓導(dǎo)入為 pd# 讀取 CSV 文件并連接它們df1 = pd.read_csv('file1.csv')df2 = pd.read_csv('file2.csv')df_combined = pd.concat([df1, df2])# 分組數(shù)據(jù)并計算統(tǒng)計量分組 = df_combined.groupby('類別')統(tǒng)計數(shù)據(jù) = grouped.mean()# 將結(jié)果保存到一個新的 CSV 文件stats.to_csv('results.csv')

網(wǎng)頁抓取

Web 抓取類似于數(shù)據(jù)編譯自動化。唯一的區(qū)別是網(wǎng)絡(luò)抓取是從在線資源中提取信息的方法,因為通讀在線網(wǎng)頁并總結(jié)所需數(shù)據(jù)需要很長時間才能獲得所需的結(jié)果。

你所要做的就是編寫一個用于網(wǎng)絡(luò)抓取的 Python 腳本,你就可以從整個互聯(lián)網(wǎng)上獲取大量信息。此外,它允許您以您喜歡的格式組織提取的數(shù)據(jù)。

下面是一個使用 Python 的網(wǎng)頁抓取腳本示例:

用于自動化的 Python:提高您的生產(chǎn)力
導(dǎo)入請求從 bs4 導(dǎo)入 BeautifulSoup# 向網(wǎng)頁發(fā)起GET請求response = requests.get('https://www.example.com')html = response.text# 使用 BeautifulSoup 解析 HTMLsoup = BeautifulSoup(html, 'html.parser')# 查找頁面上的所有鏈接鏈接 = []對于 soup.find_all('a') 中的鏈接:
links.append(link.get('href'))# 查找頁面上的所有圖片圖片= []對于 soup.find_all('img') 中的 img:
images.append(img.get('src'))

生成報告

我們知道手動生成報告是多么具有挑戰(zhàn)性。Python 來拯救你。Python 不僅可以進(jìn)行數(shù)據(jù)編譯或網(wǎng)絡(luò)抓取,還可以生成報告。如果您使用適當(dāng)?shù)?Python 腳本實現(xiàn)自動化,則可以使用 Python 編寫代碼以定期運行命令、設(shè)置參數(shù)和生成報告。

如果您想給相關(guān)方發(fā)送電子郵件,并且聯(lián)系人列表太長,您可以使用 Python 發(fā)送自動電子郵件。

以下是使用 Python 生成報告腳本的示例:

用于自動化的 Python:提高您的生產(chǎn)力
導(dǎo)入 csvdef generate_report(輸入文件,輸出文件):
   # 打開輸入文件并創(chuàng)建輸出文件
   以 open(input_file, 'r') 作為 input_csv,open(output_file, 'w') 作為 output_script:
       # 創(chuàng)建一個 CSV 閱讀器對象
       閱讀器 = csv.reader(input_csv)
       
       # 將文件頭寫入輸出文件
       output_script.write('#報告腳本\n\n')
       
       # 遍歷 CSV 文件中的行
       對于閱讀器中的行:
           # 將行數(shù)據(jù)格式化為字符串
           row_str = ', '.join(行)
           
           # 將行數(shù)據(jù)寫入輸出文件
           output_script.write(f'print("{row_str}")\n')
           
   print('報告腳本生成成功。')# 示例用法generate_report('input_data.csv', 'report_script.py')

用于自動化的強(qiáng)大 Python 腳本

本節(jié)包含一些 Python 中最好的自動化腳本,它們可以簡化您的日常任務(wù)并讓您提高工作效率。

從 PDF 中提取文本

使用“PyPDF2”包從 PDF 中提取文本。從 PDF 文件中提取的數(shù)據(jù)也可用于生成報告、發(fā)票和數(shù)據(jù)挖掘。運行“pip install PyPDF2”來安裝包。

現(xiàn)在讓我們看看它釋放了哪些機(jī)會。

例如,如果您想要從多頁 PDF 的單頁中獲取信息,您可以通過運行以下腳本來自動執(zhí)行整個過程:

用于自動化的 Python:提高您的生產(chǎn)力
# 導(dǎo)入模塊 PyPDF2導(dǎo)入 PyPDF2# 將“example.pdf”放入工作目錄# 并以讀取二進(jìn)制模式打開它pdfFileObj = open('example.pdf', 'rb')# 調(diào)用并存儲 PdfFileReader# pdfReader 中的對象pdfReader = PyPDF2.PdfFileReader(pdfFileObj)#打印pdf的總頁數(shù)# 打?。╬dfReader.numPages)# 通過傳遞獲取pdf的特定頁面# number 因為它將頁面存儲在列表中# 訪問第一頁 pass 0pageObj = pdfReader.getPage(0)# 提取頁面對象# 通過 extractText() 函數(shù)文本 = pageObj.extractText()# 打印提取的文本打印(文本)

文本過濾

文本匹配和過濾是一項艱巨的任務(wù),但是當(dāng)使用 Python 腳本時,過濾變得比以往任何時候都容易。讓我們用一個例子來理解這一點。在銷售確認(rèn)消息列表中,如果你想取出信用卡號,那么下面的腳本可以幫助你找到:

用于自動化的 Python:提高您的生產(chǎn)力
# 過濾文本# 導(dǎo)入 re 模塊重新進(jìn)口# 取任意字符串?dāng)?shù)據(jù)string = """我們用來過濾特定項目的字符串。也許我們想匹配信用卡號錯誤地輸入了用戶輸入。4444 3232 1010 8989也許另一個?9191 0232 9999 1111"""# 定義搜索模式pattern = '(([0-9](\s+)?){4}){4}'# 將模式與輸入值匹配found = re.search(模式,字符串)打?。ㄕ业剑? 根據(jù)返回值打印信息如果發(fā)現(xiàn):
print("找到信用卡號了!")別的:
print("輸入中沒有信用卡號")

將 CSV 轉(zhuǎn)換為 Excel

您可能最常遇到要下載的 CSV 文件?,F(xiàn)在,下載過程很簡單,但是使用 Python 會幫助您跳到好的部分。它允許您將 CSV 數(shù)據(jù)轉(zhuǎn)換為 Excel,而無需您進(jìn)行手動工作。

使用“pip install openpxl”下載“openpyxl”文件。

運行下面的腳本并使用下面提到的用于轉(zhuǎn)換的 Python 腳本將 CSV 文件轉(zhuǎn)換為 Excel 電子表格。

用于自動化的 Python:提高您的生產(chǎn)力
#!python3# -*- 編碼:utf-8 -*-導(dǎo)入 openpyxl導(dǎo)入系統(tǒng)#輸入print("此程序?qū)⑷魏味禾柗指糁滴募ɡ纾?csv 或 .data)中的數(shù)據(jù)寫入 Excel 文件。")print("輸入和輸出文件必須在 python 文件的同一目錄中,程序才能運行。\n")csv_name = input("輸入的CSV文件名(帶擴(kuò)展名):")sep = input("CSV 文件的分隔符:")excel_name = input("輸出的excel文件名(帶擴(kuò)展名):")sheet_name = input("輸出的excel表格名稱:")#打開文件嘗試:
wb = openpyxl.load_workbook(excel_name)
sheet = wb.get_sheet_by_name(sheet_name)
文件=打開(csv_name,“r”,編碼=“utf-8”)除了:
print("文件錯誤!")
系統(tǒng)退出()#行和列行 = 1列 = 1#對于文件中的每一行對于文件中的行:
#從行中刪除 \n 并使其成為帶有分隔符的列表
行 = 行 [:-1]
線= line.split(sep)
#對于行中的每個數(shù)據(jù)
對于在線數(shù)據(jù):
#將數(shù)據(jù)寫入單元格
sheet.cell(行,列).value = 數(shù)據(jù)
#每數(shù)據(jù)列號加1后
列 += 1
#寫入下一行列號設(shè)置為1,行號增加1
列 = 1
行 += 1#保存excel文件并關(guān)閉csv文件wb.save(excel_name)文件.close()

從 Wiki 中提取內(nèi)容

維基百科是一個豐富的信息庫,信息可以在交易電子郵件中。它還具有各種其他用途,例如監(jiān)視更改和創(chuàng)建報告。嘗試使用 Python 的維基百科包來快速從維基百科收集信息。

使用“pip install Wikipedia”安裝維基百科包。

如果您知道要從中獲取信息的特定頁面,則可以運行以下 Python 腳本:

用于自動化的 Python:提高您的生產(chǎn)力
導(dǎo)入維基百科page_content = wikipedia.page("秒差距").content# 輸出維基百科“Parsec”頁面的文本內(nèi)容打?。撁鎯?nèi)容)

如果您要查找與特定文本匹配的特定頁面,請在 Python 代碼下方運行:

用于自動化的 Python:提高您的生產(chǎn)力
導(dǎo)入維基百科search_results = wikipedia.search("弧秒")# 輸出匹配搜索詞的頁面數(shù)組打?。ㄋ阉鹘Y(jié)果)

用于自動化的七大 Python 模塊

除了 Python 腳本之外,Python 還使用多個模塊和工具進(jìn)行自動化測試。在構(gòu)建軟件時,您可能會遇到一些挑戰(zhàn),但您可以使用 Python 進(jìn)行自動化和測試來克服這些挑戰(zhàn)。

用于自動化的 Python:提高您的生產(chǎn)力

1. 帕拉米科

Python Paramiko 是一個庫,可幫助通過加密介質(zhì)與遠(yuǎn)程服務(wù)器進(jìn)行連接和通信。通過使用 Paramiko,您可以自動化和簡化任務(wù),例如傳輸文件、訪問遠(yuǎn)程 shell 和執(zhí)行命令。通過使用 SSH 客戶端,開發(fā)人員可以執(zhí)行臨時命令。并且所有命令都在遠(yuǎn)程服務(wù)器中實現(xiàn)。

2.熊貓

Python Pandas 是一個開源庫,有助于數(shù)據(jù)分析和操作。Pandas 包含的數(shù)據(jù)結(jié)構(gòu)非常適合結(jié)構(gòu)化數(shù)據(jù),例如時間序列、電子表格和表格。您可以將 Pandas 用于多種用途,例如:

  • 通過數(shù)據(jù)可視化和統(tǒng)計分析獲得洞察力

  • 添加值和管理重復(fù)項

  • 選擇和排序數(shù)據(jù)

  • 使用 CSV、SQL 數(shù)據(jù)庫和 Excel 讀取和寫入數(shù)據(jù)

3. 硒

用于自動化的流行 Python 模塊之一是 Selenium。它是一個開源工具,可幫助測試網(wǎng)絡(luò)應(yīng)用程序。使用 Python Selenium 的腳本接口,您甚至可以控制 Web 瀏覽器。通過這樣做,您可以簡化和自動化所有單調(diào)和重復(fù)的任務(wù)。

使用 Selenium 與大多數(shù)瀏覽器進(jìn)行交互;僅舉幾例,包括 Safari、Firefox、Chrome 和 Internet Explorer。談到功能,Selenium 允許您采?。?/span>

  • 截圖

  • 從網(wǎng)頁中獲取數(shù)據(jù)

  • 測試和評估網(wǎng)絡(luò)應(yīng)用

Selenium 利用客戶端-服務(wù)器架構(gòu),Python 代碼通過該架構(gòu)與實際控制瀏覽器的瀏覽器驅(qū)動程序交互。它還允許您編寫有助于自動執(zhí)行復(fù)雜手動任務(wù)的代碼。最后,您可以使用 Python Selenium 執(zhí)行自動化測試。

4. JSON

如果你想在 web 應(yīng)用程序和 web 服務(wù)之間交換數(shù)據(jù),那么你必須嘗試 JSON 輕量級數(shù)據(jù)交換格式。JSON是Python標(biāo)準(zhǔn)庫的一部分,主要關(guān)注數(shù)據(jù)的序列化和反序列化。

JSON 模塊有兩個方法:“json.dumps()”“json.loads()”,其中前者將 Python 對象編碼為 JSON 字符串,后者將 JSON 字符串解碼為 Python 對象。

5.請求

Python Requests 是一個第三方庫,可確保簡化啟用 HTTP 請求。在 Python Requests 的幫助下,開發(fā)人員將能夠通過允許他們創(chuàng)建請求和管理響應(yīng)來與 API 和其他幾個 Web 服務(wù)進(jìn)行交互。正因如此,即使是向 Web 服務(wù)器發(fā)出 HTTP 請求、上傳數(shù)據(jù)、下載文件和處理 cookie 也變得輕而易舉。

6. 自動魔法

Automagica 是一個機(jī)器人過程自動化開源智能平臺。然而,作為一個全面的 Python 模塊,它為我們提供了另一個可以利用的機(jī)會主義領(lǐng)域——用于 RPA 的 Python。它允許您自動化多個跨平臺功能,包括

  • 處理 PDF 文件

  • 瀏覽器自動化

  • 電郵公司

  • 文件和文件夾管理

最好的部分是,Automagica 可用于加快軟件開發(fā)過程。

7. 構(gòu)建器

PyBuilder 是一種自動化工具,可簡化與 Python 項目的開發(fā)、測試和部署相關(guān)的重復(fù)性任務(wù)。因此,使用 Python 進(jìn)行自動化可以使項目的開發(fā)和配置變得更好、更快捷。這個開源自動化工具可以進(jìn)行個性化設(shè)置,并支持插件以向您的項目添加廣泛的功能。在幾個功能中,一些如下:

  • 分辨率和管理依賴

  • Python 發(fā)行版中的 Python 自動化包和自動化腳本

  • 單元、集成和驗收測試

  • 支持多個 Python 版本和環(huán)境

  • 啟用與 coverage、tox 和 PyLint 的集成

Python 自動化的 5 個用例

Python for Automation 廣泛用于多個行業(yè)和應(yīng)用程序。僅舉幾例,如下所示:

用于自動化的 Python:提高您的生產(chǎn)力

?? 測試自動化

Python 自動化的用途之一是測試軟件以檢查其性能和功能。有幾個測試庫可以運行測試并檢查是否存在漏洞。運行測試將有助于識別缺陷和錯誤。Pytest 和單元測試允許開發(fā)人員編寫和運行代碼作為持續(xù)集成 (CI) 管道。

?? 網(wǎng)頁抓取

Python 對自動化有很大幫助的另一個用例是從網(wǎng)站獲取數(shù)據(jù)。在這里,您可以利用 Beautiful Soup 和 Scrapy Python 自動化庫來快速提取數(shù)據(jù)并將它們保存為您喜歡的格式。此外,您甚至可以利用網(wǎng)絡(luò)抓取來生成潛在客戶、市場研究和競爭對手分析。

?? 系統(tǒng)管理

使用 Python 進(jìn)行自動化的第三個用例與系統(tǒng)管理有關(guān)。該任務(wù)包括跟蹤系統(tǒng)資源、處理所有網(wǎng)絡(luò)設(shè)備以及自動備份系統(tǒng)。

?? 數(shù)據(jù)分析與可視化

Python 還將有助于數(shù)據(jù)分析和可視化。這一切都要歸功于大量庫的可訪問性,其中包括 NumPy、Pandas 和 Matplotlib。由于有了這些庫,處理、分析和可視化的任務(wù)變得更加容易和快捷。

?? 機(jī)器人與物聯(lián)網(wǎng)

如前所述,Python 在認(rèn)知技術(shù)、機(jī)器人技術(shù)和物聯(lián)網(wǎng)中很受歡迎。為了與傳感器和微控制器進(jìn)行交互,Python 已準(zhǔn)備好使用 PyUSB 和 PySerial。Python的使用包括收集和分析傳感器數(shù)據(jù)、搬運機(jī)器人等。

結(jié)論

Python 是一種潛在的編程語言,可以有效地執(zhí)行自動化任務(wù)——這要歸功于 Python 腳本、模塊和庫。Python 在執(zhí)行不同領(lǐng)域的任務(wù)方面表現(xiàn)出色,例如網(wǎng)絡(luò)抓取、數(shù)據(jù)可視化、機(jī)器人技術(shù)、系統(tǒng)管理和數(shù)據(jù)分析,這一直是人們談?wù)摰脑掝}。簡單易懂已成為Python 開發(fā)人員利用該語言和執(zhí)行自動化任務(wù)的錦上添花。

利用 Python 執(zhí)行自動化任務(wù)有很多好處,我們所有的開發(fā)人員都精通每個升級版本。如果您打算構(gòu)建一個自動化項目,請不要錯過與我們的開發(fā)人員的聯(lián)系。決定權(quán)在你,但討論會讓事情變得更簡單,對你也有好處。

言鼎科技

The End