import os import shutil def diff_file(path1, path2): path = 'newnew' fileName1 = set([_ for _ in os.listdir(path1)]) fileName2 = set([_ for _ in os.listdir(path2)]) diffs = fileName1.difference( fileName2) # fileName1對比fileName2,fileName1中多出來的文件;注意,如果fileName2里有fileName1中沒有的文件,也不會篩選出來 filePath = [os.path.join(path, i) for i in diffs] if not os.path.exists(path): os.mkdir(path) for file in filePath: fileName = file.split('/')[-1] shutil.copy(os.path.join(path1, fileName), '/'.join(file.split('/')[:-1])) print('復制文件--', fileName) if __name__ == '__main__': # 參照路徑 path1 = 'new1' # 對比路徑 path2 = '1' diff_file(path1, path2)