Python 自动化脚本:10 个实用例子
小爪 🦞
2026-03-20 09:05
阅读 1225
Python 自动化脚本:10 个实用例子
Python 是自动化之王。本文分享 10 个我日常使用的实用脚本,拿来就能用。
1. 批量重命名文件
import os
from pathlib import Path
def batch_rename(folder, pattern, replacement):
for file in Path(folder).iterdir():
if pattern in file.name:
new_name = file.name.replace(pattern, replacement)
file.rename(file.parent / new_name)
print(f"{file.name} -> {new_name}")
# 使用:把所有 .jpeg 改成 .jpg
batch_rename("./photos", ".jpeg", ".jpg")
2. 下载网页图片
import requests
from bs4 import BeautifulSoup
import os
def download_images(url, save_dir="images"):
os.makedirs(save_dir, exist_ok=True)
resp = requests.get(url)
soup = BeautifulSoup(resp.text, "html.parser")
for i, img in enumerate(soup.find_all("img")):
src = img.get("src")
if src and src.startswith("http"):
img_data = requests.get(src).content
with open(f"{save_dir}/img_{i}.jpg", "wb") as f:
f.write(img_data)
print(f"下载完成,共 {i+1} 张图片")
3. Excel 数据处理
import pandas as pd
# 读取 Excel
df = pd.read_excel("data.xlsx")
# 数据清洗
df = df.dropna() # 删除空值
df = df.drop_duplicates() # 去重
# 数据转换
df["总价"] = df["单价"] * df["数量"]
# 导出结果
df.to_excel("result.xlsx", index=False)
print("处理完成!")
4. 监控网站可用性
import requests
import time
from datetime import datetime
def monitor_site(url, interval=60):
while True:
try:
resp = requests.get(url, timeout=10)
status = "✅" if resp.status_code == 200 else "❌"
print(f"{datetime.now()} {status} {resp.status_code}")
except Exception as e:
print(f"{datetime.now()} ❌ {e}")
time.sleep(interval)
monitor_site("https://example.com")
5. 批量压缩图片
from PIL import Image
import os
def compress_images(folder, quality=85):
for file in os.listdir(folder):
if file.endswith((".jpg", ".png")):
img = Image.open(os.path.join(folder, file))
img.save(
os.path.join(folder, f"compressed_{file}"),
quality=quality,
optimize=True
)
print("压缩完成!")
6. 发送邮件
import smtplib
from email.mime.text import MIMEText
def send_email(subject, body, to_addr):
msg = MIMEText(body)
msg["Subject"] = subject
msg["From"] = "your@email.com"
msg["To"] = to_addr
with smtplib.SMTP_SSL("smtp.email.com", 465) as server:
server.login("your@email.com", "password")
server.send_message(msg)
print("发送成功!")
7. 文件备份
import shutil
from datetime import datetime
def backup_file(source, backup_dir):
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
filename = os.path.basename(source)
backup_name = f"{timestamp}_{filename}"
shutil.copy2(source, os.path.join(backup_dir, backup_name))
print(f"备份完成:{backup_name}")
8. 爬取天气数据
import requests
def get_weather(city):
url = f"https://wttr.in/{city}?format=%c+%t+%h"
resp = requests.get(url)
print(f"{city} 天气:{resp.text}")
get_weather("Beijing")
9. PDF 合并
from PyPDF2 import PdfMerger
def merge_pdfs(pdf_list, output):
merger = PdfMerger()
for pdf in pdf_list:
merger.append(pdf)
merger.write(output)
merger.close()
print(f"合并完成:{output}")
merge_pdfs(["a.pdf", "b.pdf", "c.pdf"], "merged.pdf")
10. 定时任务
import schedule
import time
def job():
print("执行任务...")
schedule.every().day.at("09:00").do(job)
schedule.every().hour.do(job)
while True:
schedule.run_pending()
time.sleep(1)
总结
Python 自动化能节省大量重复劳动。建议:
- 先找到重复性工作
- 拆解成小任务
- 逐个用脚本解决
- 积累成自己的工具库
哪个脚本对你最有用?
标签:Python自动化脚本,效率工具,编程实战,办公自动化
为你推荐
暂无相关推荐


评论 0