比如需要一个xml对应一个jpg时,有时候会不小心少了其中一个文件,这时可以用以下代码比较缺少的是哪个文件:
# -*- coding: utf-8 -*-import ospath1 = r'../diff'def file_name(file_dir): jpg_list = [] xml_list = [] for root, dirs, files in os.walk(file_dir): for file in files: if os.path.splitext(file)[1] == '.jpg': jpg_list.append(os.path.splitext(file)[0]) elif os.path.splitext(file)[1] == '.xml': xml_list.append(os.path.splitext(file)[0]) diff = set(xml_list).difference(set(jpg_list)) # 差集,在a中但不在b中的元素 print(len(diff)) for name in diff: print("no jpg", name + ".xml") diff2 = set(jpg_list).difference(set(xml_list)) # 差集,在b中但不在a中的元素 print(len(diff2)) for name in diff2: print("no xml", name + ".jpg") return jpg_list,xml_list # 其中os.path.splitext()函数将路径拆分为文件名+扩展名if __name__ == '__main__': file_name(path1)