需求:把一个文件夹内(包含子文件夹)的所有文件复制到另一个文件夹下
#coding=utf-8
import os
import shutil
old_path = r'F:\1' # 要复制的文件所在目录
new_path = r'F:\2' #新路径
def FindFile(path):
for ipath in os.listdir(path):
fulldir = os.path.join(path, ipath) # 拼接成绝对路径
print(fulldir) #打印相关后缀的文件路径及名称
if os.path.isfile(fulldir): # 文件,匹配->打印
shutil.copy(fulldir,new_path)
if os.path.isdir(fulldir): # 目录,递归
FindFile(fulldir)
FindFile(old_path)
注:如果不需要复制文件夹内的子文件夹可删除下面这2行
if os.path.isdir(fulldir): # 目录,递归
FindFile(fulldir)引用
进阶需求代码:
一、把一个文件夹内(包含子文件夹)指定后缀的文件复制到另一个文件夹
#coding=utf-8
import os
import shutil
old_path = r'F:\1' # 要复制的文件所在目录
new_path = r'F:\2' #新路径
suffix = '.xml' #要复制的文件后缀
def FindFile(path, tagfile):
for ipath in os.listdir(path):
fulldir = os.path.join(path, ipath) # 拼接成绝对路径
if tagfile in os.path.split(fulldir)[1]: # 查找包含了指定关键字的文件
print(fulldir) #打印相关后缀的文件路径及名称
if os.path.isfile(fulldir): # 文件,匹配->打印
shutil.copy(fulldir,new_path)
if os.path.isdir(fulldir): # 目录,递归
FindFile(fulldir, tagfile)
FindFile(old_path, suffix)
二、把一个文件夹内(包含子文件夹)指定后缀的文件复制到另一个文件夹并生成多份指定名称的文件文章来源:https://www.toymoban.com/news/detail-549690.html
#coding=utf-8
import os
import re
import shutil
old_path = r'F:\1' # 要复制的文件所在目录
new_path = r'F:\2' #新路径
suffix = '.xml' #要复制的文件后缀
def FindFile(path, tagfile):
for ipath in os.listdir(path):
fulldir = os.path.join(path, ipath) # 拼接成绝对路径
print(fulldir) #打印相关后缀的文件路径及名称
if os.path.isfile(fulldir): # 文件,匹配->打印
if tagfile in os.path.split(fulldir)[1]: # 查找包含了指定关键字的文件
data_red = fulldir.split("\\")[len(re.split(r'\\',path))] # 拿到文件名称,也是项目名称
print(data_red) #打印相关后缀的文件名称
for i in range(1,66): #目的是复制65份data_red文件
data_re = re.sub(r'\d+', str(i), data_red) #提取需要改的data_red字节
shutil.copy(r"{0}\{1}".format(old_path,data_red), r"{0}\{1}".format(new_path,data_re))
if os.path.isdir(fulldir): # 目录,递归
FindFile(fulldir, tagfile)
FindFile(old_path, suffix)
执行代码效果图:
old_path下文件:
new_path下文件部分截图:
文章来源地址https://www.toymoban.com/news/detail-549690.html
到了这里,关于python怎么把一个文件夹内的文件复制到另外一个文件夹(进阶重命名复制)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!