任务:将文件夹"11"和文件夹"22"里面的图片名字做对比,将文件夹"11"和文件夹"22"相同命名的文件名,移动到"33"文件夹下。
使用了os
模块来实现你的需求:
- 首先,该程序将列出文件夹"11"和文件夹"22"中的所有文件名。
- 然后,它会查找两个文件夹中都存在的相同文件名。
- 对于每一个匹配的文件名,它将从"11"文件夹中移动该文件到"33"文件夹。
import os
import shutil
def move_matching_files(src1, src2, dest):
# 获取两个源文件夹中的所有文件名
src1_files = set(os.listdir(src1))
src2_files = set(os.listdir(src2))
# 找到两个文件夹中都有的文件名
common_files = src1_files.intersection(src2_files)
# 检查目标文件夹是否存在,如果不存在则创建
if not os.path.exists(dest):
os.makedirs(dest)
# 移动这些文件到目标文件夹
for file in common_files:
shutil.move(os.path.join(src1, file), os.path.join(dest, file))
# 使用
source_folder1 = '11'
source_folder2 = '22'
destination_folder = '33'
move_matching_files(source_folder1, source_folder2, destination_folder)
如果33文件夹没有,会自动创建。
完美源码 » Python 对比两个文件夹下的文件名,取相同文件名的移动到第三个文件夹的方法