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

github star

大家好,这里是程序员晚枫,正在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' # year/month/day
)

运行后:

  • 2023/
  • 2024/
  • 2025/

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做出实际项目。帮你从零上手!