本文目录导读:

- 文件批量重命名(Python)
- 文本文件内容搜索与替换(Shell)
- 定时自动备份(Python + Cron)
- Excel数据清洗(Python + pandas)
- 网络状态监控(Bash)
- 图片批量压缩(Python + PIL)
- 邮件批量发送(Python + smtplib)
- 如何选择脚本?
- 注意事项
当然可以!实用脚本在日常工作中能极大提升效率,减少重复劳动,以下是一些常见场景下的实用脚本示例,覆盖文件处理、数据整理、自动化任务等,你可以根据需求直接使用或调整:
文件批量重命名(Python)
-
场景:将文件夹内所有
.txt文件按规则重命名(如添加日期前缀)。 -
脚本:
import os from datetime import datetime folder_path = "/path/to/your/folder" prefix = datetime.now().strftime("%Y%m%d_") for filename in os.listdir(folder_path): if filename.endswith(".txt"): new_name = prefix + filename os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_name))
文本文件内容搜索与替换(Shell)
- 场景:在多个
.log文件中将old_text替换为new_text。 - 脚本:
#!/bin/bash find /path/to/logs -type f -name "*.log" -exec sed -i 's/old_text/new_text/g' {} \;
定时自动备份(Python + Cron)
-
场景:每天凌晨自动备份重要目录到指定位置。
-
脚本:
import shutil import os from datetime import datetime src = "/home/user/documents" dst = f"/home/user/backup/{datetime.now().strftime('%Y-%m-%d')}" shutil.copytree(src, dst) -
Cron配置(Linux):
0 2 * * * python /path/to/backup_script.py
Excel数据清洗(Python + pandas)
-
场景:合并多个Excel文件,删除空行,输出为CSV。
-
脚本:
import pandas as pd import glob # 合并所有Excel文件 all_files = glob.glob("data_*.xlsx") df_list = [pd.read_excel(f) for f in all_files] merged_df = pd.concat(df_list, ignore_index=True) # 删除全空行 cleaned_df = merged_df.dropna(how='all') # 保存为CSV cleaned_df.to_csv("cleaned_data.csv", index=False)
网络状态监控(Bash)
- 场景:每隔5秒检查网站是否可达,失败时写入日志。
- 脚本:
#!/bin/bash while true; do if ! wget -q --tries=1 --timeout=2 https://example.com; then echo "$(date): FAILED" >> /var/log/net_monitor.log fi sleep 5 done
图片批量压缩(Python + PIL)
-
场景:将目录下所有JPEG图像压缩到指定质量(适合网页优化)。
-
脚本:
from PIL import Image import os folder = "/path/to/images" for fname in os.listdir(folder): if fname.lower().endswith(('.jpg', '.jpeg')): img = Image.open(os.path.join(folder, fname)) img.save(os.path.join(folder, f"compressed_{fname}"), quality=40, optimize=True)
邮件批量发送(Python + smtplib)
-
场景:从CSV文件读取收件人列表,发送模板邮件。
-
脚本:
import smtplib import csv from email.mime.text import MIMEText # 读取收件人列表 with open('recipients.csv') as f: reader = csv.reader(f) for name, email in reader: msg = MIMEText(f"Hi {name}, this is a test email.") msg['Subject'] = "Automated Email" msg['From'] = "you@example.com" msg['To'] = email with smtplib.SMTP('smtp.example.com', 587) as server: server.starttls() server.login("your_email", "password") server.send_message(msg)
如何选择脚本?
- 简单任务:优先用Shell(Linux)或批处理(Windows),无需额外环境。
- 复杂逻辑:Python更灵活(需安装解释器)。
- 跨平台:Python/JS(Node.js)。
注意事项
- 测试环境:先在副本或测试目录运行,避免误操作。
- 权限问题:脚本可能需要执行权限(Linux:
chmod +x script.sh)。 - 依赖安装:Python脚本需先安装库(如
pip install pandas pillow)。
如果需要针对特定场景的脚本(如PDF处理、爬虫、数据库操作等),可以告诉我具体需求,我会生成更贴合的代码!