功能: 增加了筛选功能,通过筛选文件名字中的特定字符,来建立特定类型文件的列表,然后再将特定文件进行移动
下一版扩展: 1 可以利用正则表达式来筛选命名更加复杂的文件 2 文件夹下边有文件夹时,内层文件夹的文件无法操作
import shutil
import os
import glob # 这个暂时没有用到
def remove_file(old_path,new_path):
print("original path:",old_path)
print("prisent path:",new_path)
# 筛选出目标文件,存入target_files
filelist = os.listdir(old_path)
print("原始目录下的所有文件为:\n",filelist)
target_files = [file for file in filelist if file[-3:]=='png']
print("原始目录下筛选后的文件为:\n",target_files)
# 利用循环来移动文件
for file in target_files:
src = os.path.join(old_path,file)
print('src:',src) # 文件原来所在的地址及文件名
dst = os.path.join(new_path,file)
print('dst:',dst) # 文件要移动到的地址及文件名
shutil.move(src,dst) # 调用shutil模块下的move函数完成文件移动的操作
print("文件",file,"已经完成移动。\n") # 告诉我哪些文件已经完成了移动
if __name__ == '__main__':
remove_file(r"D:\pic2",r"D:\pic1")
|