Python实现找到同名文件并复制到其他文件夹中
作者:疯狂学习GIS 发布时间:2022-03-16 21:53:14
本文介绍基于Python语言,针对一个文件夹下大量的Excel表格文件,基于其中每一个文件的名称,从另一个文件夹中找到与这一文件夹中文件同名的文件,并将找到的同名文件复制到第三个文件夹中的方法。
首先,我们来明确一下本文的具体需求。现有一个文件夹,其中有大量的Excel表格文件(在本文中我们就以csv
格式的文件为例)——这一文件夹中的文件其实也就是我们通过文章Python遍历大量表格文件并筛选出表格内数据缺失率低的文件筛选得到的文件;如下图所示。
此外,我们还有一个文件夹(我们将其称作大文件夹),其中存放了较之上图所示的文件夹中,更多的Excel表格文件;我们希望实现的是,从这个大文件夹中,找到与上图所示文件夹中Excel表格文件同名的文件,并将找到的同名文件复制到另一个新的文件夹中。
知道了需求,我们就可以开始代码的撰写。其中,本文用到的代码如下所示。
# -*- coding: utf-8 -*-
"""
Created on Tue May 16 22:32:00 2023
@author: fkxxgis
"""
import os
import shutil
def copy_file_with_name(source_path, target_path, new_path):
source_file = os.listdir(source_path)
for file in source_file:
target_file_path = os.path.join(target_path, file)
if os.path.isfile(target_file_path):
new_file_path = os.path.join(new_path, file)
shutil.copy(target_file_path, new_file_path)
copy_file_with_name("E:/01_Reflectivity/99_Model_Training/00_Data/02_Extract_Data/14_PointSelection/LowMissingRate",
"E:/01_Reflectivity/99_Model_Training/00_Data/02_Extract_Data/13_AllYearAverage",
"E:/01_Reflectivity/99_Model_Training/00_Data/02_Extract_Data/15_8DaysSynthesis")
上述这段代码中,我们首先导入了os
和shutil
模块,os
模块用于处理文件和文件夹的操作,shutil
模块用于执行文件的复制操作。然后定义了一个名为copy_file_with_name
的函数,该函数接受3
个参数:source_path
表示源文件夹路径,target_path
表示目标文件夹(也就是上面提到的大文件夹)路径,new_path
表示新的文件夹路径。source_file = os.listdir(source_path)
获取源文件夹中的所有文件,并将文件列表赋值给source_file
。
在接下来的这个循环中,对于源文件夹中的每个文件,我们构建目标文件的完整路径target_file_path
,其中target_path
是目标文件夹的路径,file
是源文件夹中的文件名。然后使用os.path.isfile(target_file_path)
检查目标文件是否存在,如果存在则执行下一步操作。接下来,我们构建新文件的完整路径new_file_path
,其中new_path
是新文件夹的路径,file
是源文件夹中的文件名。最后,使用shutil.copy
函数将目标文件复制到新文件夹中。
最后一行代码调用了copy_file_with_name
函数,传入了三个文件夹的路径作为参数,从一个文件夹中复制文件到另一个文件夹中。
运行上述代码后,我们即可在new_path
这一文件夹中,找到我们复制好的文件;其中,很显然new_path
这一文件夹的文件数量与source_path
文件夹中的文件数量是一致的。
至此,大功告成。
来源:https://blog.csdn.net/zhebushibiaoshifu/article/details/130715870


猜你喜欢
- 详解python里使用正则表达式的分组命名方式分组匹配的模式,可以通过groups()来全部访问匹配的元组,也可以通过group()函数来按
- 1.如何将Query String传送到另一个ASP文件去?Response.Redirect("second.asp? 
- 大家都知道搜索引擎比较喜欢H1。在SEO中H1也是很基础也很重要的一步。但有些时候为了界面风格的原因,很多标题性的文字做成了图片。大多数情况
- 安装PIL在Debian/Ubuntu Linux下直接通过apt安装:$ sudo apt-get install python-imag
- 这个项目到一开始的kickoff到现在,持续了很长的一段时间,现在差不多也接近了尾声,所以要好好做个总结,下面不会设计到太多技术层面上的东西
- 在python显示图象时,我们用matplotlib模块时会遇到图像色彩失真问题,究竟是什么原因呢,下面就来看看究竟。待显示图像为:impo
- GO语言的控制语句判断结构:if-else和大多数编程语言一样,if-else的用法基本都一样,直接来一个GO语言的例子package ma
- 统计每天的数据量变化,数据量变动超过一定范围时,进行告警。告警通过把对应的参数传递至相应接口。python程序如下#!/usr/bin/py
- 前言本文使用Mysql8.0的特新实现递归查询,文中给出了详细的实例代码,下面话不多说了,来一起看看详细的介绍吧Mysql8.0递归查询用法
- 众所周知tensorflow造势虽大却很难用,因此推荐使用Keras,它缺省是基于tensorflow的,但通过修改keras.json也可
- 如何编写具有良好结构的CSS?如果在设计流程中缺乏"秩序"或"章法"是非常不利的,你得冒着风险去添加
- vue-cli在开发前,我们要至少通读一遍vue官方文档和API(看官方文档是最重要的,胜过看五十、一百篇博客),英文阅读能力还行的建议阅读
- 本文实例讲述了Python实现的服务器。分享给大家供大家参考,具体如下:python - 单进程服务器#coding=utf-8from s
- 国外有很多优秀的文章可以用来学习,我决定花些时间翻译。我并不知道这篇文章有没有人翻译过,原文名 10 Awful IE Bugs and F
- 环境准备好了!我们怎么使用这些东东?IIS用组件初始化是用这个过程Public Sub OnStartPage给个使用asp组件的例子:数字
- 当下,大数据方面的就业主要有三大方向:一是数据分析类大数据人才,二是系统研发类大数据人才,三是应用开发类大数据人才。他们的基础岗位分别是大数
- 先说明,我并不知道出现坑的原因是什么。我只是按照别人的写法就连上了。我的处境是这样的我的前台是用了 vue 全家桶,启动了一个 9527 端
- 本文实例为大家分享了python五子棋游戏的具体代码,供大家参考,具体内容如下#五子棋‘''矩阵做棋盘 16*16 “+”打
- 本文实例讲述了Django返回json数据用法。分享给大家供大家参考,具体如下:1、前端。jQuery发送GET请求,并解析json数据。g
- #!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2020/02/11