python实现某目录下将多个文件夹内的文件复制到一个文件夹中

时间:2022-12-05 08:57:42

  现实生活中,我们经常有这样的需求,如下图,有三个文件夹,文件夹1内含有1.txt文件

文件夹2中内含有2.txt文件,文件夹3中含有3.txt文件。我们有时候需要把1.txt, 2.txt, 3.txt文件

复制到同个文件夹中。

python实现某目录下将多个文件夹内的文件复制到一个文件夹中

  下面介绍一下如何使用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里面的文件复制到名为总文件的文件夹中。