def find(dir, name): # print(dir) for i in [x for x in os.listdir(dir) if os.path.isfile(os.path.join(dir, x)) and name in os.path.splitext(x)[0]]: print(os.path.join(dir, i)) # os.path.isfile() 需要完整路径或者相对当前目录的相对路径 for i in [x for x in os.listdir(dir) if os.path.isdir(os.path.join(dir, x))]: if os.listdir(os.path.join(dir, i)): # 防止因为权限问题报错 try: find(os.path.join(dir, i), name) except: pass find('E:\收藏夹\C41\C41', 'dod')