新增: 解决了文件夹下嵌套文件时的移动问题。 优化了代码,降低了复杂度。每个文件地址获取后便进行识别、移动。 TODO: 增加交互性 使用正则表达式筛选更复杂的文件 import shutil import os import glob # 这个暂时没有用到 def move_file(path,dst): list_path = os.listdir(path) target_site = dst file_list = list() for i in range(0, len(list_path)): full_path = os.path.join(path, list_path[i]) # 组合成路径+文件名的格式存入列表 # 如果目标是一个文件夹,则将路径进行扩展然后再次调用本函数 if os.path.isdir(full_path): file_list.extend(get_path(full_path,dst)) # 如果目标是一个文件,则直接将文件“地址+名称”存入file_list,并进行筛选、移动 if os.path.isfile(full_path): file_list.append(full_path) temp_file = file_list[-1] if temp_file[-3:] == 'png': print("文件",temp_file,'符合条件') #shutil.move(file_list[-1],target_site) # 调用shutil模块下的move函数完成文件移动的操作 print("目标文件",temp_file,"已经完成移动。\n") # 告诉我哪些文件已经完成了移动 return 'The process has done.' move_file(r"D:\pic1",r"D:\pic2")