python 把多个文件夹内,文件相同名字。移动到相同文件夹里。并重新命名。 python 把多个文件夹内,文件相同名字。移动到相同文件夹里。并重新命名。
时间: 2023-09-11 21:07:03 浏览: 101
你可以使用Python的shutil模块来完成这个任务。以下是一个示例代码,可以将多个文件夹内具有相同文件名的文件移动到同一个文件夹,并重新命名。
```python
import os
import shutil
def move_files(source_dirs, destination_dir):
# 创建目标文件夹
os.makedirs(destination_dir, exist_ok=True)
# 遍历每个源文件夹
for source_dir in source_dirs:
# 遍历源文件夹中的文件
for root, dirs, files in os.walk(source_dir):
for file in files:
source_path = os.path.join(root, file)
# 获取文件名和扩展名
file_name, file_ext = os.path.splitext(file)
# 生成目标文件名
destination_file_name = f"{file_name}_{root.replace(os.path.sep, '_')}{file_ext}"
destination_path = os.path.join(destination_dir, destination_file_name)
# 移动文件
shutil.move(source_path, destination_path)
# 指定源文件夹路径列表和目标文件夹路径
source_dirs = ['path/to/source/dir1', 'path/to/source/dir2']
destination_dir = 'path/to/destination/dir'
# 调用函数进行移动和重命名
move_files(source_dirs, destination_dir)
```
请将`path/to/source/dir1`和`path/to/source/dir2`替换为你实际的源文件夹路径,将`path/to/destination/dir`替换为你想要移动文件的目标文件夹路径。这段代码会将源文件夹中具有相同文件名的文件移动到同一个目标文件夹,并在目标文件名中包含原始文件所在的文件夹名。
注意:在运行代码之前,请确保你对文件操作有足够的权限,并且谨慎操作以避免意外删除或覆盖文件。
阅读全文