前言哈嘍,我是山哥。 今天給大家分享40個 python 日常使用最頻繁的自動化腳本。 1、文件批量重命名腳本:import os def batch_rename_files(folder_path, old_extension, new_extension): for file in os.listdir(folder_path): if file.endswith(old_extension): old_file_path = os.path.join(folder_path, file) new_file_name = file[:-len(old_extension)] + new_extension new_file_path = os.path.join(folder_path, new_file_name) os.rename(old_file_path, new_file_path) # 示例用法 batch_rename_files('/your/folder', '.txt', '.log') 此腳本可將指定文件夾內特定擴展名的文件批量修改為新的擴展名。 2、數據備份腳本(以復制文件夾為例):
用于將一個文件夾完整備份到另一個位置。 3、自動化郵件發(fā)送腳本:import smtplib from email.mime.text import MIMEText def send_email(sender_email, sender_password, receiver_email, subject, message): msg = MIMEText(message) msg['Subject'] = subject msg['From'] = sender_email msg['To'] = receiver_email with smtplib.SMTP('smtp.gmail.com', 587) as server: server.starttls() server.login(sender_email, sender_password) server.sendmail(sender_email, receiver_email, msg.as_string()) # 示例用法 send_email('your_email@gmail.com', 'your_password', 'recipient@', 'Test Email', 'This is a test.') 可在程序中自動發(fā)送郵件。 4、圖片格式轉換腳本:
將指定圖片轉換為新的格式。 5、文本文件合并腳本:def merge_text_files(folder_path, output_file): with open(output_file, 'w') as outfile: for file in os.listdir(folder_path): if file.endswith('.txt'): with open(os.path.join(folder_path, file), 'r') as infile: outfile.write(infile.read()) # 示例用法 merge_text_files('/text/files/folder', 'combined.txt') 將一個文件夾內的所有文本文件內容合并到一個新文件。 6、系統資源監(jiān)控腳本(簡單的 CPU 使用率監(jiān)控):
實時獲取當前 CPU 使用率。 7、自動化數據采集腳本(以抓取網頁標題為例):import requests from bs4 import BeautifulSoup def scrape_webpage_titles(url): response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') titles = [title.text for title in soup.find_all('h1')] return titles # 示例用法 titles = scrape_webpage_titles('https://') print(titles) 從指定網頁抓取標題信息。 8、批量創(chuàng)建文件夾腳本:
根據指定前綴批量創(chuàng)建多個文件夾。 9、自動化數據清理腳本(去除列表中的重復元素):def clean_data(data_list): return list(set(data_list)) # 示例用法 data = [1, 2, 2, 3, 3, 4] cleaned_data = clean_data(data) print(cleaned_data) 對數據列表進行去重處理。 10、定時任務執(zhí)行腳本(簡單的定時打印示例):
設置每隔 5 分鐘執(zhí)行一次打印任務。 11、自動化文件搜索腳本:import os def search_files(keyword, root_dir): result = [] for root, dirs, files in os.walk(root_dir): for file in files: if keyword in file: file_path = os.path.join(root, file) result.append(file_path) return result # 示例用法 found_files = search_files('report', '/your/directory') print(found_files) 在指定目錄及其子目錄下搜索包含特定關鍵詞的文件。 12、數據庫數據導出腳本(以 MySQL 為例):
將 MySQL 數據庫中的數據導出到指定的 SQL 文件。 13、自動化軟件安裝腳本(以安裝特定 Python 庫為例):import subprocess def install_package(package_name): subprocess.call(['pip', 'install', package_name]) # 示例用法 install_package('numpy') 使用 pip 自動安裝指定的 Python 包。 14、圖像裁剪腳本:
對圖像進行裁剪操作并保存。 15、文本替換腳本(在文本文件中替換特定字符串):def replace_text_in_file(file_path, old_text, new_text): with open(file_path, 'r+') as file: content = file.read() new_content = content.replace(old_text, new_text) file.seek(0) file.write(new_content) file.truncate() # 示例用法 replace_text_in_file('/your/text.txt', 'old_word', 'new_word') 在指定文本文件中替換特定的字符串。 16、網絡連接測試腳本:
測試與指定主機和端口的網絡連接是否成功。 17、音頻文件播放腳本(使用 playsound 庫):from playsound import playsound def play_audio_file(audio_path): playsound(audio_path) # 示例用法 play_audio_file('/your/audio.mp3') 播放指定的音頻文件。 18、視頻文件信息提取腳本(使用 moviepy 庫獲取時長等信息):
提取視頻文件的時長和大小等信息。 19、自動化生成隨機密碼腳本:import random import string def generate_random_password(length): all_characters = string.ascii_letters + string.digits + string.punctuation password = ''.join(random.choice(all_characters) for i in range(length)) return password # 示例用法 password = generate_random_password(10) print(password) 生成指定長度的隨機密碼。 20、系統日志分析腳本(簡單示例,統計特定關鍵詞出現次數):
分析系統日志文件中特定關鍵詞的出現次數。 21、Excel 數據處理腳本(讀取和寫入數據):import openpyxl def read_excel_data(file_path, sheet_name): workbook = openpyxl.load_workbook(file_path) sheet = workbook[sheet_name] data = [] for row in sheet.iter_rows(values_only=True): data.append(row) workbook.close() return data def write_excel_data(file_path, sheet_name, new_data): workbook = openpyxl.load_workbook(file_path) sheet = workbook[sheet_name] for row in new_data: sheet.append(row) workbook.save(file_path) workbook.close() # 示例用法 data = read_excel_data('example.xlsx', 'Sheet1') new_data = [('New Row 1', 100), ('New Row 2', 200)] write_excel_data('example.xlsx', 'Sheet1', new_data) 該腳本可用于讀取 Excel 文件中的數據,并向其中寫入新的數據。 22、文件夾大小統計腳本:
能夠計算指定文件夾及其子文件夾內所有文件的總大小。 23、自動化網頁截圖腳本:from selenium import webdriver def take_webpage_screenshot(url, screenshot_path): driver = webdriver.Chrome() # 需要安裝 Chrome 驅動并配置好環(huán)境變量 driver.get(url) driver.save_screenshot(screenshot_path) driver.quit() # 示例用法 take_webpage_screenshot('https://www.', 'screenshot.png') 使用 Selenium 庫對指定網頁進行截圖并保存。 24、文本文件行數統計腳本:
統計文本文件中的行數。 25、批量解壓文件腳本(以 zip 文件為例)import zipfile def batch_unzip_files(folder_path): for file in os.listdir(folder_path): if file.endswith('.zip'): zip_file_path = os.path.join(folder_path, file) with zipfile.ZipFile(zip_file_path, 'r') as zip_ref: zip_ref.extractall(folder_path) # 示例用法 batch_unzip_files('/your/zip/folder') 將指定文件夾內的所有 zip 文件解壓到該文件夾。 26、自動化創(chuàng)建數據庫表腳本(以 SQLite 為例):
創(chuàng)建一個 SQLite 數據庫表,可指定表名和列信息。 27、系統進程監(jiān)控腳本:import psutil def monitor_processes(): for proc in psutil.process_iter(): try: process_info = proc.as_dict(attrs=['pid', 'name', 'cpu_percent']) print(f'PID: {process_info['pid']}, Name: {process_info['name']}, CPU Usage: {process_info['cpu_percent']}%') except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess): pass # 示例用法 monitor_processes() 獲取當前系統中運行的進程信息,包括進程 ID、名稱和 CPU 使用率。 28、自動化生成二維碼腳本:
根據給定的數據生成二維碼圖片并保存。 29、文本加密腳本(簡單的凱撒密碼示例):def caesar_cipher_encrypt(text, shift): encrypted_text = '' for char in text: if char.isalpha(): if char.isupper(): encrypted_text += chr((ord(char) - 65 + shift) % 26 + 65) else: encrypted_text += chr((ord(char) - 97 + shift) % 26 + 97) else: encrypted_text += char return encrypted_text # 示例用法 encrypted = caesar_cipher_encrypt('Hello, World!', 3) print(encrypted) 使用凱撒密碼對文本進行加密。 30、自動化數據可視化腳本(繪制柱狀圖):
根據給定的數據繪制柱狀圖進行數據可視化。 31、自動化文件下載腳本:import requests def download_file(url, save_path): response = requests.get(url) with open(save_path, 'wb') as file: file.write(response.content) # 示例用法 download_file('https:///file.txt', 'downloaded_file.txt') 從指定的 URL 下載文件并保存到本地。 32、自動化刪除空文件夾腳本:
遞歸地刪除指定目錄下的所有空文件夾。 33、自動化修改文件權限腳本(以 Linux 系統為例):import os def change_file_permissions(file_path, permissions): os.chmod(file_path, permissions) # 示例用法 change_file_permissions('/your/file.txt', 0o644) # 設置文件權限為 -rw-r--r-- 修改指定文件的權限。 34、自動化生成 HTML 頁面腳本(簡單示例):
根據給定的標題、內容生成一個簡單的 HTML 頁面并保存。 35、自動化提取音頻文件中的文本腳本(使用 speech_recognition 庫):import speech_recognition as sr def transcribe_audio(audio_path): r = sr.Recognizer() with sr.AudioFile(audio_path) as source: audio = r.record(source) try: text = r.recognize_google(audio) return text except sr.UnknownValueError: print('Google Speech Recognition could not understand audio') except sr.RequestError as e: print(f'Could not request results from Google Speech Recognition service; {e}') # 示例用法 text = transcribe_audio('/your/audio.wav') print(text) 從音頻文件中提取文本內容(需聯網使用 Google 語音識別服務)。 36、自動化整理數據庫數據腳本(以 MySQL 為例,清理重復記錄):
清理 MySQL 數據庫表中的重復記錄。 37、自動化生成隨機數列表腳本:import random def generate_random_numbers_list(length, min_value, max_value): return [random.randint(min_value, max_value) for _ in range(length)] # 示例用法 random_numbers = generate_random_numbers_list(10, 1, 100) print(random_numbers) 生成指定長度、在給定范圍內的隨機數列表。 38、自動化檢測文件類型腳本:
使用 magic 庫檢測文件的類型。 39、自動化備份系統配置腳本(以 Linux 系統為例,備份 /etc 目錄):import shutil def backup_system_config(source_dir, destination_dir): shutil.copytree(source_dir, destination_dir) # 示例用法 backup_system_config('/etc', '/backup/etc') 備份 Linux 系統的 /etc 目錄到指定位置。 40、自動化生成斐波那契數列腳本:
生成指定長度的斐波那契數列。 結語:代碼寫完了,趕緊試試吧! |
|