Python依据某一文件夹中大量文件的名称复制另一文件夹中的同名文件

这篇具有很好参考价值的文章主要介绍了Python依据某一文件夹中大量文件的名称复制另一文件夹中的同名文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

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文件夹中的文件数量是一致的。

  至此,大功告成。

欢迎关注:疯狂学习GIS文章来源地址https://www.toymoban.com/news/detail-448125.html

到了这里,关于Python依据某一文件夹中大量文件的名称复制另一文件夹中的同名文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python遍历文件夹下的所有子文件夹,并将指定的文件复制到指定目录

    在1文件夹中有1,2两个文件夹 将这两个文件夹中的文件复制到 after_copy中 源文件 复制后: 参考1 源文件 复制后 参考2 如果复制bmp文件就将 suffix = \\\".json\\\" 改为 suffix = \\\".bmp\\\"

    2024年02月11日
    浏览(92)
  • matlab 读取某一文件夹下的文件

    MATLAB 是一个十分强大的科学计算软件,用于各种数据分析和科学计算。在实际工作和研究过程中,我们通常将数据存储在文件中,文件存在于系统的某个目录中。如果需要读取这些文件,可以使用 MATLAB 提供的文件和文件夹操作函数。本文将介绍如何使用 MATLAB 读取文件夹中

    2024年02月16日
    浏览(60)
  • C#修改解决方案的名称 和解决方案文件夹的名称 ,及项目程序名称,项目文件夹名称

    修改失败了,没有备份就得炸裂,一定要切记 右键项目- 属性 - 应用程序 先将 程序集名称 与 默认命名空间 先修改好 其次,在按组合键ctrl+ f 将原来的项目名称,替换成新的名称; 替换时,一定要针对整个解决方案进行替换 ----切记 关闭解决方案 ,一定要关闭 出现无法加

    2023年04月09日
    浏览(76)
  • hadoop java 创建文件夹 弹出窗口填写文件夹名称

    在Hadoop中使用Java创建文件夹时,无法弹出窗口来填写文件夹名称,因为Hadoop是一个分布式系统,运行在多台计算机上,无法直接与用户交互。 要创建文件夹,可以使用Hadoop的Java API中的Filesystem对象。以下是一个示例代码,演示如何在Hadoop中创建文件夹: 此代码创建了一个名

    2024年01月19日
    浏览(64)
  • 【java】如何获取整个文件夹的文件名称

    需求 有时候我们需要一个文件夹里的所有文件的名称我们只能截图,然后再使用微信提取出其中的文字,这样是比较麻烦的,今天给大家介绍使用java提取所有文件的名字,代码如下:

    2024年02月14日
    浏览(56)
  • linux常见文件夹名称及作用

    在Linux系统中,有许多常用的目录,每个目录都有其特定的作用和用途。以下是一些常见的Linux文件夹及其作用的示例: ---命令(公共 程序) /bin/ :存放系统命令(二进制文件),如 ls 、 cp 和 mkdir 等。这些命令可以在系统启动时使用。 /sbin/ :与 /bin/ 类似,但这些命令通常

    2024年02月12日
    浏览(44)
  • 文件夹路径保存不同,什么批量修改名称

    在日常工作中不知道大家有没有遇到过,需要批量修改文件夹名称,并且文件夹保存路径不同呢,像这种情况到底不能批量修改呢。我也问了很多身边的朋友,他们有的说,他一般都修改保存路径是同一个,还很少遇到像我这样情况,他们给的建议是,分次修改,一次修改同

    2024年02月05日
    浏览(54)
  • 【Java】对Minio指定Bucket大量文件的批量下载与本地文件夹的批量上传

    需要批量下载一个bucket下的内容,bucket下文件有19GB+,且文件夹结构复杂,使用官方的Console无法完成这么大量文件的下载,而且也不支持文件夹的分享,所以自己写个工具下载,顺便把上传的也写了。 使用官方的打包下载,由于文件太多,一直转,而且session一失效,或者刷

    2024年02月09日
    浏览(56)
  • mac批量提取文件夹的名称,怎么操作?

        mac批量提取文件夹的名称,怎么操作?很多小伙伴想知道在mac电脑上可以一键快速批量的将大量文件夹的名提取出来,而不是采用一个一个名称提取的方法,这是一个有利于提高工作效率的办法,这一项技能在网上几乎找不到解决办法,不过经过小编的多方打听,还是给

    2024年02月16日
    浏览(51)
  • linux根据服务名称查服务文件夹路径

    ps -ef |grep java| grep -v grep | awk \\\'{ print $2 }\\\' -e   显示所有进程。 -f    全格式。 grep -v grep是在Linux系统的某些时刻下查看进程的命令,它的作用是排除grep进程本身。 启动: #!/usr/bin/bash PID=$(ps -ef | grep serverName | grep -v grep | awk \\\'{ print $2 }\\\') if [ -z \\\"$PID\\\" ]; then     echo Application i

    2024年01月17日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包