Python实现找到同名文件并复制到其他文件夹中

作者:疯狂学习GIS 时间:2022-03-16 21:53:14 

本文介绍基于Python语言,针对一个文件夹下大量的Excel表格文件,基于其中每一个文件的名称,从另一个文件夹中找到与这一文件夹中文件同名的文件,并将找到的同名文件复制到第三个文件夹中的方法。

首先,我们来明确一下本文的具体需求。现有一个文件夹,其中有大量的Excel表格文件(在本文中我们就以csv格式的文件为例)——这一文件夹中的文件其实也就是我们通过文章Python遍历大量表格文件并筛选出表格内数据缺失率低的文件筛选得到的文件;如下图所示。

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")

上述这段代码中,我们首先导入了osshutil模块,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,复制,文件
0
投稿

猜你喜欢

  • Python在字典中获取带权重的随机值实现方式

    2022-12-11 05:21:44
  • python解决网站的反爬虫策略总结

    2022-11-04 12:57:34
  • 将HTML表单数据存储为XML格式

    2007-08-23 13:04:00
  • Python中的左斜杠、右斜杠(正斜杠和反斜杠)

    2022-02-08 07:00:34
  • document.getElementById的简写方式

    2010-06-21 10:44:00
  • js实现rem自动匹配计算font-size的示例

    2023-08-22 11:02:33
  • 浅谈python连续赋值可能引发的错误

    2023-07-12 04:13:32
  • 新浪乐居的人不好!哈哈

    2009-07-23 20:39:00
  • 5个CSS3技术实现设计增强

    2009-09-04 17:04:00
  • Oracle数据库与SQL Server数据库镜像对比

    2009-04-11 16:24:00
  • python3+pyqt5+itchat微信定时发送消息的方法

    2022-02-28 04:31:49
  • Python实现yaml与json文件批量互转

    2023-11-20 07:07:54
  • Flask模拟实现CSRF攻击的方法

    2023-11-18 16:21:39
  • IE中不可遍历的属性

    2010-01-19 13:47:00
  • Python入门教程(三十)Python的PIP

    2022-03-08 02:32:51
  • 将python依赖包打包成window下可执行文件bat方式

    2022-01-25 08:11:43
  • Python学习之函数 def

    2022-09-06 09:57:41
  • MySQL数据库的临时文件究竟储存在哪里

    2009-02-13 13:44:00
  • pandas 层次化索引的实现方法

    2023-11-24 19:04:02
  • python实现简单银行管理系统

    2021-01-24 17:59:28
  • asp之家 网络编程 m.aspxhome.com