Python学习笔记组织文件之将指定目录下的指定格式文件Copy到指定文件夹
随笔记录方便自己和同路人查阅。
#------------------------------------------------我是可耻的分割线-------------------------------------------
假如你想把一个路径下的某格式文件都复制到另一个文件夹中,如果文件较多,手动复制可能会比较繁琐和麻烦,重要的是还可能复制错了,所以你希望有
一段程序帮你完成这个繁琐且容易出错的工作。
#------------------------------------------------我是可耻的分割线-------------------------------------------
将指定目录下的指定格式文件复制到想要的目录下,示例代码:
#! python 3 # -*- coding:utf-8 -*- # Autor: Li Rong Yang ''' Copy指定格式的文件到新文件夹 ''' import shutil,os #定义函数,接收传入的值 def SFileToDFile(sourcefile,fileclass,destinationfile): #遍历目录和子目录 for filenames in os.listdir(sourcefile): #取得文件或文件名的绝对路径 filepath = os.path.join(sourcefile,filenames) #判断是否为文件夹 if os.path.isdir(filepath): #如果是文件夹,重新调用该函数 SFileToDFile(filepath,fileclass,destinationfile) #判断是否为文件 elif os.path.isfile(filepath): #如果该文件的后缀为用户指定的格式,则把该文件复制到用户指定的目录 if filepath.endswith(fileclass): #dirname = os.path.split(filepath)[-1] #给出提示信息 print('Copy %s'% filepath +' To ' + destinationfile) #复制该文件到指定目录 shutil.copy(filepath,destinationfile) #函数调用 SFileToDFile('d:\\quiz','.txt','d:\\test')
运行结果:根据运行结果可以看出复制的文件有哪些,和复制到了那个目录下
假如你想删除指定的文件,可以这样写,示例代码:
#! python 3 # -*- coding:utf-8 -*- # Autor: Li Rong Yang ''' Copy指定格式的文件到新文件夹 ''' import shutil,os,send2trash #定义函数,接收传入的值 def SFileToDFile(sourcefile,fileclass,destinationfile): #遍历目录和子目录 for filenames in os.listdir(sourcefile): #取得文件或文件名的绝对路径 filepath = os.path.join(sourcefile,filenames) #判断是否为文件夹 if os.path.isdir(filepath): #如果是文件夹,重新调用该函数 SFileToDFile(filepath,fileclass,destinationfile) #判断是否为文件 elif os.path.isfile(filepath): #如果该文件的后缀为用户指定的格式,则把该文件复制到用户指定的目录 if filepath.endswith(fileclass): #dirname = os.path.split(filepath)[-1] #给出提示信息 #print('Copy %s'% filepath +' To ' + destinationfile) print('Delet %s to recycle bin.'%filepath) #删除文件 send2trash.send2trash(filepath) # 复制该文件到指定目录 #shutil.copy(filepath,destinationfile) #函数调用 SFileToDFile('d:\\quiz','.txt','d:\\test')
运行结果: