
👉 项目官网:https://www.python-office.com/ 👈

大家好,这里是程序员晚枫,正在all in AI编程实战。
桌面乱得像垃圾堆?
每次找文件都要翻半天?
今天教你怎么用 python-office 自动整理文件夹。
1、按文件类型分类
把文件夹里的文件按类型分门别类:
1 2 3 4 5 6 7
| import office
office.file.classify( folder='C:\\Users\\你的用户名\\Desktop\\杂文件夹', type_rule=True )
|
运行后,文件会自动分类到:
PDF/ 文件夹Word/ 文件夹Excel/ 文件夹图片/ 文件夹- ……
2、按文件大小分类
1 2 3 4 5 6 7
| import office
office.file.classify( folder='下载文件夹', size_rule=True )
|
3、按日期分类
按文件的修改日期分类:
1 2 3 4 5 6 7
| import office
office.file.classify( folder='文件夹路径', date_rule='year' )
|
运行后:
4、实战案例:每周自动整理下载文件夹
每周日下午自动整理一次下载文件夹:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| import office import os
def weekly_cleanup(): """每周整理下载文件夹""" download = 'C:\\Users\\你的用户名\\Downloads' office.file.classify(folder=download, type_rule=True) for folder in os.listdir(download): path = os.path.join(download, folder) if os.path.isdir(path) and not os.listdir(path): os.rmdir(path) print('本周整理完成!')
weekly_cleanup()
|
配合 Windows 任务计划程序,可以每周自动运行。
5、实战案例:整理图片文件夹
手机导出的照片太多了,按月份分类:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| import office import os from datetime import datetime
def organize_photos(folder): """整理照片,按月份分类""" extensions = ['.jpg', '.jpeg', '.png', '.heic', '.mp4'] for file in os.listdir(folder): ext = os.path.splitext(file)[1].lower() if ext not in extensions: continue path = os.path.join(folder, file) mtime = os.path.getmtime(path) dt = datetime.fromtimestamp(mtime) month_folder = os.path.join(folder, dt.strftime('%Y-%m')) os.makedirs(month_folder, exist_ok=True) new_path = os.path.join(month_folder, file) if not os.path.exists(new_path): os.rename(path, new_path) print(f'移动: {file} -> {month_folder}')
organize_photos('照片文件夹')
|
6、实战案例:整理微信下载文件夹
微信下载的文件都在一个文件夹里,乱七八糟:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| import office import os
wechat_folder = 'C:\\Users\\你的用户名\\WeChat Files\\YourName\\FileStorage\\File'
office.file.classify(folder=wechat_folder, type_rule=True)
video_folder = os.path.join(wechat_folder, '视频') os.makedirs(video_folder, exist_ok=True)
for file in os.listdir(wechat_folder): if file.endswith(('.mp4', '.avi', '.mov')): src = os.path.join(wechat_folder, file) dst = os.path.join(video_folder, file) os.rename(src, dst)
print('微信文件整理完成!')
|
7、常见问题
Q:分类后原文件还在?
A:默认是"移动"不是"复制",原文件会被移走。如果想保留原文件,可以用 copy=True 参数。
Q:分类规则不对?
A:可以自定义规则:
1 2 3 4 5
| office.file.classify( folder='文件夹', type_rule=True, custom_rule={'.docx': 'Word文档', '.xlsx': 'Excel表格'} )
|
8、下讲预告
学会了文件整理,下一讲我们学 邮件自动化——用代码自动发送邮件。
敬请期待!
有问题欢迎加微信 python-office 进群交流~
🎓 AI 编程实战课程
程序员晚枫专注AI编程培训,通过 《30讲 · AI编程训练营》,让小白也能用AI做出实际项目。帮你从零上手!