将path1和path2中的文件进行对比,若path1和path2中有相同文件名的文件,则复制到path3中,反之则不复制。
import os
import shutil
def diff_file(path1, path2):
path3 = './train 存储相同文件名的文件地址'
if not os.path.exists(path3):
os.makedirs(path3)
files_in_path2 = os.listdir(path2)
file_names_in_path2 = [os.path.splitext(file)[0] for file in files_in_path2]
for file_name in os.listdir(path1):
if os.path.splitext(file_name)[0] in file_names_in_path2:
source_file = os.path.join(path1, file_name)
target_file = os.path.join(path3, file_name)
shutil.copyfile(source_file, target_file)
print('复制文件--', file_name)
if __name__ == '__main__':
# 参照路径
path1 = './train2017 需修改 '
# 对比路径
path2 = './train 需修改## 标题 '
diff_file(path1, path2)