【Python】多个文件夹合并到一个文件夹中

mac2025-03-15  11

将两个黑框中的文件合并到统一的文件夹中。将两个黑框中的system合并,user合并,然后将合并的后的sys和user在合并一次最终形成右图结构。

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) print(newPath) newFile = newPath +'/'+ file #copyfile函数两个必须为文件,不能是目录, shutil.copyfile(newDir, newFile) #如果不是文件,递归这个文件夹的路径 else: CopyFile(newDir,newPath) if __name__ == "__main__": #path = input("输入需要复制文件目录:") # 获取sys当前的目录 patha="H:/XX/images/thumbnail" #遍历当前文件夹 fileNames = os.listdir(patha) for file in fileNames: # 将文件命加入到当前文件路径后面 newDir = "H:\XX\image262" + '/' + file os.makedirs(newDir) for file in fileNames: CopyFile(patha+'/' + file+'/system' ,"H:/XX/image262"+"/"+file) CopyFile(patha+'/' + file+'/user' ,"H:/XX/image262"+"/"+file)

首先创建新的目录结构,新创建的目录就是根据现有总的目录创建出上面右图中的目录结构,遍历一次即可

然后在此遍历,将system和user目录作为初始目录,新创建的目录作为目标目录作为参数传递到CopyFile方法中。

最后,在copyFile方法中遍历system文件夹下的文件,将该文件夹下的文件复制到新创建的路径中,如果system目录下还有文件夹,则进行迭代循环。

最新回复(0)