SKILLGOHUB · 2026-08-01
学会Python基础语法后,写自动化脚本是提升效率最快的方式。本文整理了10个实用自动化脚本案例,覆盖文件处理、办公自动化、数据抓取等高频场景。每个脚本都可直接使用或稍作修改适配你的需求。
import os
from pathlib import Path
folder = Path("./待整理")
for i, f in enumerate(folder.glob("*.*"), 1):
suffix = f.suffix
new_name = folder / f"文档_{i:03d}{suffix}"
f.rename(new_name)
print(f"已重命名 {i} 个文件")
场景:整理下载的杂乱文件、照片排序。
import pandas as pd
import glob
all_files = glob.glob("销售报表/*.xlsx")
dfs = [pd.read_excel(f) for f in all_files]
merged = pd.concat(dfs, ignore_index=True)
merged.to_excel("合并报表.xlsx", index=False)
场景:每月合并各部门报表,节省2小时人工操作。
from PIL import Image
from pathlib import Path
output = Path("./压缩图片")
output.mkdir(exist_ok=True)
for f in Path("./原图").glob("*.jpg"):
img = Image.open(f)
img.save(output/f.name, quality=70, optimize=True)
场景:自媒体配图压缩、网站图片优化。
import PyPDF2
with open("报告.pdf", "rb") as f:
reader = PyPDF2.PdfReader(f)
text = "\n".join(page.extract_text() for page in reader.pages)
with open("报告内容.txt", "w") as f:
f.write(text)
场景:从PDF合同中提取关键条款、批量分析PDF报告。
import shutil, time
from datetime import datetime
backup_name = f"backup_{datetime.now():%Y%m%d_%H%M}.zip"
shutil.make_archive(backup_name.replace(".zip", ""), "zip", "./重要文档")
print(f"备份完成: {backup_name}")
# 配合系统定时任务每天执行
import requests
from bs4 import BeautifulSoup
url = "https://example.com/news"
resp = requests.get(url)
soup = BeautifulSoup(resp.text, "html.parser")
for item in soup.select(".news-title"):
print(item.text.strip())
场景:竞品价格监控、行业新闻采集。
import smtplib
from email.message import EmailMessage
msg = EmailMessage()
msg["Subject"] = "自动报告"
msg["From"] = "you@example.com"
msg["To"] = "boss@example.com"
msg.set_content("附件为今日销售报告")
with open("报告.xlsx", "rb") as f:
msg.add_attachment(f.read(), filename="报告.xlsx")
smtplib.SMTP("smtp.example.com").send_message(msg)
import qrcode
urls = ["https://skillgohub.com", "https://example.com"]
for i, url in enumerate(urls, 1):
img = qrcode.make(url)
img.save(f"二维码_{i}.png")
from pathlib import Path
for f in Path("./文档").glob("*.txt"):
text = f.read_text(encoding="utf-8")
text = text.replace("旧名称", "新名称")
f.write_text(text, encoding="utf-8")
import psutil
cpu = psutil.cpu_percent(interval=1)
mem = psutil.virtual_memory().percent
disk = psutil.disk_usage("/").percent
print(f"CPU: {cpu}% | 内存: {mem}% | 硬盘: {disk}%")
if cpu > 80:
print("⚠️ CPU负载过高,请检查")
总结:以上10个脚本覆盖了日常办公中最常见的自动化需求。建议你每个脚本都亲自敲一遍,修改参数适配自己的场景。一旦掌握了"用脚本解决问题"的思路,你会发现工作量至少减少一半。