python实现某目录下将多个文件夹内的文件复制到一个文件夹中
现实生活中,我们经常有这样的需求,如下图,有三个文件夹,文件夹1内含有1.txt文件
文件夹2中内含有2.txt文件,文件夹3中含有3.txt文件。我们有时候需要把1.txt, 2.txt, 3.txt文件
复制到同个文件夹中。
下面介绍一下如何使用python实现该功能:
import os import shutil def CreateDir(path): isExists=os.path.exists(path) # 判断结果 if not isExists: # 如果不存在则创建目录 os.makedirs(path) print(path+' 目录创建成功') else: # 如果目录存在则不创建,并提示目录已存在 print(path+' 目录已存在') def CopyFile(filepath, newPath): # 获取当前路径下的文件名,返回List fileNames = os.listdir(filepath) for file in fileNames: # 将文件命加入到当前文件路径后面 newDir = filepath + '/' + file # 如果是文件 if os.path.isfile(newDir): print(newDir) newFile = newPath + file shutil.copyfile(newDir, newFile) #如果不是文件,递归这个文件夹的路径 else: CopyFile(newDir,newPath) if __name__ == "__main__": path = input("输入需要复制文件目录:") # 创建目标文件夹 mkPath = path + "/总文件/" CreateDir(mkPath) CopyFile(path,mkPath)
运行该脚本,然后输入文件夹1,文件夹2,文件夹3所在的路径,就可以将文件夹1,文件夹2
文件夹3里面的文件复制到名为总文件的文件夹中。