5個極其有用的 Python 自動化腳本

在現(xiàn)代職場中,重復(fù)性和耗時的任務(wù)常常占據(jù)大量時間,影響工作效率。Python作為一種高效、易用的編程語言,提供了豐富的庫和工具,能夠幫助打工人自動化處理日常任務(wù),提升工作效率。以下是十個必備的Python自動化腳本:

一、文件批量重命名腳本

在日常工作中,可能需要對大量文件進(jìn)行重命名操作。手動操作既耗時又容易出錯。使用Python腳本,可以實現(xiàn)文件的批量重命名,提高效率。

? ? ? ? import os


? ? ? ? def batch_rename(directory, old_ext, new_ext):

? ? ? ? ? ? for filename in os.listdir(directory):

? ? ? ? ? ? ? ? if filename.endswith(old_ext):

? ? ? ? ? ? ? ? ? ? new_filename = filename.replace(old_ext, new_ext)

? ? ? ? ? ? ? ? ? ? os.rename(os.path.join(directory, filename), os.path.join(directory, new_filename))

? ? ? ? # 示例:將目錄中所有“.txt”擴展名的文件改為“.md”

? ? ? ? batch_rename('/path/to/directory', '.txt', '.md')

此腳本遍歷指定目錄下的所有文件,將符合條件的文件擴展名進(jìn)行替換。這種方法比手動操作更為高效,特別是在文件數(shù)量龐大的情況下。

二、數(shù)據(jù)清洗腳本

處理大型數(shù)據(jù)集時,數(shù)據(jù)清洗是不可避免的步驟。編寫一個Python腳本,自動進(jìn)行常見的數(shù)據(jù)清洗操作,例如去重、缺失值處理等。

? ? ? ? import pandas as pd


? ? ? ? def data_cleaning(data_path):

? ? ? ? ? ? df = pd.read_csv(data_path)


? ? ? ? ? ? # 去重

? ? ? ? ? ? df = df.drop_duplicates()


? ? ? ? ? ? # 處理缺失值

? ? ? ? ? ? df = df.dropna()


? ? ? ? ? ? # 其他數(shù)據(jù)清洗操作...


? ? ? ? ? ? df.to_csv('cleaned_data.csv', index=False)


? ? ? ? # 示例:對數(shù)據(jù)集進(jìn)行清洗并保存

? ? ? ? data_cleaning('/path/to/data.csv')

此腳本使用了pandas庫,能夠高效地對數(shù)據(jù)進(jìn)行清洗操作,確保數(shù)據(jù)質(zhì)量,為后續(xù)分析奠定基礎(chǔ)。

三、網(wǎng)絡(luò)請求腳本

與網(wǎng)絡(luò)交互時,編寫一個能夠發(fā)送HTTP請求的腳本是非常有用的。使用requests庫可以輕松實現(xiàn)。

? ? ? ? import requests


? ? ? ? def make_request(url, params=None, headers=None):

? ? ? ? ? ? response = requests.get(url, params=params, headers=headers)

? ? ? ? ? ? if response.status_code == 200:

? ? ? ? ? ? ? ? return response.json()

? ? ? ? ? ? else:

? ? ? ? ? ? ? ? return None


? ? ? ? # 示例:向GitHub API發(fā)送請求

? ? ? ? github_data = make_request('https://api.github.com/users/octocat')

? ? ? ? print(github_data)

通過此腳本,可以方便地與各種API進(jìn)行交互,獲取所需的數(shù)據(jù),應(yīng)用范圍廣泛。

四、日志分析腳本

日志分析對于了解系統(tǒng)運行狀況至關(guān)重要。編寫一個腳本,能夠解析和分析日志文件,提取關(guān)鍵信息。

? ? ? ? import re


? ? ? ? def analyze_logs(log_path):

? ? ? ? ? ? with open(log_path, 'r') as file:

? ? ? ? ? ? ? ? logs = file.readlines()


? ? ? ? ? ? error_count = 0

? ? ? ? ? ? for log in logs:

? ? ? ? ? ? ? ? if re.search('error', log, re.IGNORECASE):

? ? ? ? ? ? ? ? ? ? error_count += 1


? ? ? ? ? ? print(f"Total errors: {error_count}")


? ? ? ? # 示例:分析日志文件中的錯誤數(shù)量

? ? ? ? analyze_logs('/path/to/logs.txt')

此腳本能夠快速統(tǒng)計日志中的錯誤數(shù)量,幫助及時發(fā)現(xiàn)和解決問題,確保系統(tǒng)穩(wěn)定運行。

五、批量處理圖像腳本

圖像處理是許多工作中的重要一環(huán)。編寫一個腳本,可以批量處理圖像,例如縮放、旋轉(zhuǎn)等。

? ? ? ? from PIL import Image

? ? ? ? import os


? ? ? ? def batch_process_images(input_dir, output_dir, size=(300, 300)):

? ? ? ? ? ? for filename in os.listdir(input_dir):

? ? ? ? ? ? ? ? img_path = os.path.join(input_dir, filename)

? ? ? ? ? ? ? ? output_path = os.path.join(output_dir, filename)


? ? ? ? ? ? ? ? img = Image.open(img_path)

? ? ? ? ? ? ? ? img.thumbnail(size)

? ? ? ? ? ? ? ? img.save(output_path)


? ? ? ? # 示例:批量處理圖像,將其縮放至300x300像素

? ? ? ? batch_process_images('/path/to/input_images', '/path/to/output_images')

使用PIL庫,可以方便地對圖像進(jìn)行各種處理,滿足不同的需求。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容