使用python分类文件夹中不同名称文件
时间: 2024-10-14 19:06:13 浏览: 32
在Python中,你可以使用`os`和`shutil`库来遍历文件夹并按文件名的某种模式分类。这里是一个基本的例子,它将文件分为几个不同的目录,比如按照文件扩展名或文件名的某个前缀:
```python
import os
import shutil
def classify_files(root_dir):
# 定义目标类别目录列表
category_dirs = {
'images': 'Image_Files',
'documents': 'Document_Files',
'.txt': 'Text_Files'
}
for dirpath, dirs, files in os.walk(root_dir): # 遍历文件夹
for file in files:
file_extension = os.path.splitext(file)[1] # 获取文件扩展名
for target_extension, target_dir in category_dirs.items():
if file_extension == target_extension or file.startswith(target_dir):
# 创建或检查目标目录是否存在,然后移动文件
target_path = os.path.join(dirpath, target_dir)
if not os.path.exists(target_path):
os.makedirs(target_path)
source_path = os.path.join(dirpath, file)
destination_path = os.path.join(target_path, file)
shutil.move(source_path, destination_path)
break # 找到匹配的类别后跳出循环
# 调用函数,传入需要分类的根目录路径
classify_files('/path/to/your/directory')
```
在这个例子中,`os.walk()`用于递归地访问文件夹及其内容。对于每个文件,我们检查它的扩展名是否在预定义的类别中,或者如果文件名以特定的前缀开始,则将其归类到相应的目录。
阅读全文