python怎么把一个文件夹内的文件复制到另外一个文件夹(进阶重命名复制)

article/2025/9/23 13:23:00

  
需求:把一个文件夹内(包含子文件夹)的所有文件复制到另一个文件夹下

#coding=utf-8
import os
import shutilold_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 shutilold_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)


二、把一个文件夹内(包含子文件夹)指定后缀的文件复制到另一个文件夹并生成多份指定名称的文件

#coding=utf-8
import os
import re
import shutilold_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下文件部分截图:
在这里插入图片描述


http://chatgpt.dhexx.cn/article/3OwPq3wj.shtml

相关文章

python怎么把一个文件夹内的文件复制到另外一个文件夹

文章目录 一步到位总结 一步到位 import os import shutilsrc"./after"#原文件夹路径 des"./after_copy"#目标文件夹路径for file in os.listdir(src):#遍历原文件夹中的文件full_file_name os.path.join(src, file)#把文件的完整路径得到print("要…

Python复制文件的9种方法

以下是演示“如何在Python中复制文件”的九种方法。 1.shutil copyfile()方法 2.shutil copy()方法 3.shutil copyfileobj()方法 4.shutil copy2()方法 5.os popen方法 6.os系统&…

python复制文件到指定文件夹

序言: 今天做项目遇到一个问题,在做单元测试时,由于要上传文件夹,但是测试完成后程序会删除上传的文件,这样每次都要手动上传文件,维护成本很大!故想到把上传的文件放到指定的路径,每…

巧用Python:用Python批量复制文件,方法有9种,方便快捷

当我们复制一个文件时用复制粘贴就可以了,如果是多个文件呢?就会很麻烦了,今天给大家介绍一下用Python批量复制文件,方法有九种!希望对你有帮助 1. Shutil Copyfile()方法 该方法只有在目标可写…

Python 复制一份文件

前言 本文讲述如何复制一份文件,用例是复制模板.xlsx文件到相同目录下,复制后的文件名为模板1.xlsx。 该代码运行有个前提就是,你必须要有一份被复制的文件,否则将复制不成功 这个方法可以复制word文件等等。只要修改文件的后缀…

多项式全家桶 基础知识+各种操作+例题(细节证明)

目录 前置知识:NTT大模数技巧 基础知识求导泰勒展开 操作讲解无泰勒展开多项式求导 & 积分多项式逆元多项式取模多项式 & 多项式除法多项式最大公因式 & 最小共倍式多项式多点求值多项式自然对数 泰勒展开应用:牛顿迭代多项式exp多项式任意幂…

逆用“端点效应”,成就放缩之道——针对超越函数的双值拟合放缩

本文旨在提出一种使用二次函数、三次函数拟合超越函数的方法 Part 1、问题的引子 1.1 端点效应 若函数 f ( x ) 在 ( x 1 , ∞ ) 上 ≥ 0 且 f ( x 1 ) 0 , 则 f ′ ( x 1 ) > 0. 做 题 时 , 可 先 求 出 结 果 范 围 再 验 证 其 充 分 性 f(x)在(x_1,\inf…

三种求最短路算法基本描述及实现(C++)

比较: FloyedDijkstra(优先队列优化)SPFA(优先队列优化)时间复杂度o(n^3)o(nm)(logm)o(km)基本思想动态规划贪心贪心适用范围无负环图无负权图无负环图多源最短路不含负权图的低复杂度解含负权边时的单源最短路求解 1.Floyed算法 变量声明: n&#xf…

python中0x3f_单片机中0x3f代表什么意思

展开全部 单片机中0x3f代表16进制数62616964757a686964616fe78988e69d83313334313566623F,即0011 1111B或63D(B代表二进制,D代表十进制),在单片机中常用于配置IO口的输入输出或寄存器的相关配置,实际意义指二进制对应位为高电平。…

51单片机LED数码管

LED显示器分为共阴极(发光二极管所有的阴极连接在一起)和共阳极(所有的阳极都连接在一起)两种。 共阴高电平有效 共阳低电平有效 char led[] {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; 共阴接法0~9 共阳取反就行 …

单片机 0xff是什么意思

0x是16进制的前缀。单片机中对寄存器或IO口操作都是用十六位进制表示,比如oxaa,代表二进制的1010(a) 1010(a)。在书写时0x代表十六位进制。 16进制就是逢16进1,但我们只有0~9这十个数字&#x…

python中0x3f_类似于0x3F是什么意思?怎么转换?

展开全部 单片机中0x3f代表16进制数3F,即00111111B或63D(B代表二进制,D代表十进制),在单片机中常用于配置62616964757a686964616fe78988e69d8331333436316265IO口的输入输出或寄存器的相关配置,实际意义指二进制对应位为高电平。 …

c++ 0x3f 0x3f3f 0x3f3f3f 0x3f3f3f3f的具体值

RT,做题的时候因为没有把最大值设置好,导致有一个点没有过去。现在记录一下0x3f之类的数值,以方便日后的使用 0x3f:代表的数值63 0x3f3f:代表的数值16191 10的四次方多 0x3f3f3f:代表的数值4144959 10的六…

0x3f3f3f3f是什么意思

经常会看到大佬的定义中出现有一些这样的东西,经过多方印证查阅可以找到介绍讲解 0x3f3f3f3f的十进制是1061109567,是10^9级别的,而一般场合下的数据都是小于10^9的,所以它可以作为无穷大使用而不致出现数据大于无穷大的情形。 …

图论中的0x3f和memset使用注意事项(较详细)

图论中的memset和0x3f 写此博客的背景 相信有很多同学在看别人图论专题的题解、板子的时候经常看到下面两句: const int INF 0x3f3f3f3f; memset(d, INF, sizeof(d));或者下面这样: memset(d, 0x3f, sizeof(d));很多同学都不明所以,只知…

双三次插值算法

配合阅读:https://blog.csdn.net/nandina179/article/details/85330552 今天学习了第三种图像缩放的方法,双三次插值法。由于理解能力比较差,看了好久的公式,还是云里雾里,但是为了督促自己学习,还是把已知…

图像的放大:双三次插值算法(C++实现)

双线性插值算法的不足就是细节处理的不好,换句话说,就是曲线拟合得不够光滑,所以又有了双三次插值算法。双三次插值算法是基于周围的16个像素点,通过计算16个像素点的权重,累积得到增加点的像素值的。 简单点理解&…

图像插值理论研究——双三次插值(双立方插值)

双三次插值,英文是Bicubic interpolation。双三次插值是一种更加复杂的插值方式,它能创造出比双线性插值更平滑的图像边缘。双三次插值方法通常运用在一部分图像处理软件、打印机驱动程序和数码相机中,对原图像或原图像的某些区域进行放大。A…

FPGA图像处理HLS实现三种图像缩放算法,线性插值、双线性插值、双三次插值,提供HLS工程和vivado工程源码

目录 一、三种图像缩放算法介绍线性插值双线性插值双三次插值 二、HLS实现线性插值图像缩放三、HLS实现双线性插值图像缩放四、HLS实现双三次插值图像缩放五、HLS在线仿真并导出IP六、其他FPGA型号HLS在线仿真并导出IP七、zynq7100开发板vivado工程八、上板调试验证九、福利&am…