Python 实用自动化脚本精选:本地文件批量整理与文本处理
日常工作和学习中,经常会遇到机械重复的文件处理需求,例如按规则重命名数百张截图、解析杂乱的日志、或者提取 CSV 中的某几列数据。使用 Python 标准库(免额外 pip 安装)即可轻松搞定。
一、零第三方依赖:按文件扩展名自动归类整理
以下脚本能自动遍历目标文件夹,将散落的文件按类型自动移动到对应的子分类目录中:
import os
import shutil
from pathlib import Path
def organize_folder(target_dir: str):
base_path = Path(target_dir)
if not base_path.exists():
print(f"目标路径不存在: {target_dir}")
return
# 预设常见分类映射
ext_mapping = {
'Images': ['.jpg', '.jpeg', '.png', '.gif', '.webp'],
'Docs': ['.pdf', '.docx', '.txt', '.md', '.xlsx'],
'Archives': ['.zip', '.tar', '.gz', '.rar', '.7z'],
'Codes': ['.py', '.js', '.html', '.css', '.json']
}
for item in base_path.iterdir():
if item.is_file():
ext = item.suffix.lower()
category = 'Others'
for cat, extensions in ext_mapping.items():
if ext in extensions:
category = cat
break
dest_folder = base_path / category
dest_folder.mkdir(exist_ok=True)
shutil.move(str(item), str(dest_folder / item.name))
print(f"已归类: {item.name} -> {category}")
if __name__ == '__main__':
# 填入需要整理的本地下载目录路径
organize_folder("./downloads")
二、JSON 列表快速转 CSV 表格
爬虫或 API 拿到的结构化 JSON 数据,转成 Excel / CSV 方便筛选查看:
import json
import csv
def json_to_csv(json_path: str, csv_path: str):
with open(json_path, 'r', encoding='utf-8') as f:
data = json.load(f)
if not data or not isinstance(data, list):
print("JSON 格式必须为包含对象的列表")
return
headers = list(data[0].keys())
with open(csv_path, 'w', newline='', encoding='utf-8-sig') as f:
writer = csv.DictWriter(f, fieldnames=headers)
writer.writeheader()
writer.writerows(data)
print(f"转换完成:共导出 {len(data)} 条数据至 {csv_path}")
经验与总结
在编写自动化小脚本时,优先考虑 pathlib.Path 替代传统的 os.path,面向对象的语法更加清晰直观,且天然跨 Windows 与 Linux 路径分隔符。保持代码短小精悍,能极大提升效率。