Python實(shí)現(xiàn)找到同名文件并復(fù)制到其他文件夾中
本文介紹基于Python語言,針對一個文件夾下大量的Excel表格文件,基于其中每一個文件的名稱,從另一個文件夾中找到與這一文件夾中文件同名的文件,并將找到的同名文件復(fù)制到第三個文件夾中的方法。
首先,我們來明確一下本文的具體需求?,F(xiàn)有一個文件夾,其中有大量的Excel表格文件(在本文中我們就以csv格式的文件為例)——這一文件夾中的文件其實(shí)也就是我們通過文章Python遍歷大量表格文件并篩選出表格內(nèi)數(shù)據(jù)缺失率低的文件篩選得到的文件;如下圖所示。

此外,我們還有一個文件夾(我們將其稱作大文件夾),其中存放了較之上圖所示的文件夾中,更多的Excel表格文件;我們希望實(shí)現(xiàn)的是,從這個大文件夾中,找到與上圖所示文件夾中Excel表格文件同名的文件,并將找到的同名文件復(fù)制到另一個新的文件夾中。
知道了需求,我們就可以開始代碼的撰寫。其中,本文用到的代碼如下所示。
# -*- 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")
上述這段代碼中,我們首先導(dǎo)入了os和shutil模塊,os模塊用于處理文件和文件夾的操作,shutil模塊用于執(zhí)行文件的復(fù)制操作。然后定義了一個名為copy_file_with_name的函數(shù),該函數(shù)接受3個參數(shù):source_path表示源文件夾路徑,target_path表示目標(biāo)文件夾(也就是上面提到的大文件夾)路徑,new_path表示新的文件夾路徑。source_file = os.listdir(source_path)獲取源文件夾中的所有文件,并將文件列表賦值給source_file。
在接下來的這個循環(huán)中,對于源文件夾中的每個文件,我們構(gòu)建目標(biāo)文件的完整路徑target_file_path,其中target_path是目標(biāo)文件夾的路徑,file是源文件夾中的文件名。然后使用os.path.isfile(target_file_path)檢查目標(biāo)文件是否存在,如果存在則執(zhí)行下一步操作。接下來,我們構(gòu)建新文件的完整路徑new_file_path,其中new_path是新文件夾的路徑,file是源文件夾中的文件名。最后,使用shutil.copy函數(shù)將目標(biāo)文件復(fù)制到新文件夾中。
最后一行代碼調(diào)用了copy_file_with_name函數(shù),傳入了三個文件夾的路徑作為參數(shù),從一個文件夾中復(fù)制文件到另一個文件夾中。
運(yùn)行上述代碼后,我們即可在new_path這一文件夾中,找到我們復(fù)制好的文件;其中,很顯然new_path這一文件夾的文件數(shù)量與source_path文件夾中的文件數(shù)量是一致的。
至此,大功告成。
到此這篇關(guān)于Python實(shí)現(xiàn)找到同名文件并復(fù)制到其他文件夾中的文章就介紹到這了,更多相關(guān)Python復(fù)制文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Python中使用filter去除列表中值為假及空字符串的例子
今天小編就為大家分享一篇在Python中使用filter去除列表中值為假及空字符串的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
python搭建簡易服務(wù)器分析與實(shí)現(xiàn)
本文將介紹python搭建簡易服務(wù)器實(shí)現(xiàn)步驟,需要了解的朋友可以參考下2012-12-12
Python使用poplib模塊和smtplib模塊收發(fā)電子郵件的教程
smtplib模塊一般我們比較熟悉、這里我們會來講解使用smtplib發(fā)送SSL/TLS安全郵件的方法,而poplib模塊則負(fù)責(zé)處理接收pop3協(xié)議的郵件,下面我們就來看Python使用poplib模塊和smtplib模塊收發(fā)電子郵件的教程2016-07-07
Python迭代器iterator生成器generator使用解析
這篇文章主要介紹了Python迭代器iterator生成器generator使用解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-10-10
Python實(shí)用庫 PrettyTable 學(xué)習(xí)筆記
這篇文章主要介紹了Python實(shí)用庫 PrettyTable 學(xué)習(xí)筆記,結(jié)合實(shí)例形式分析了Python表格操作庫PrettyTable的安裝、使用技巧與相關(guān)注意事項,需要的朋友可以參考下2019-08-08
python中閉包Closure函數(shù)作為返回值的方法示例
閉包(closure)是函數(shù)式編程的重要的語法結(jié)構(gòu),Python也支持這一特性,下面這篇文章主要給大家介紹了關(guān)于python中閉包Closure函數(shù)作為返回值的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2017-12-12
python批量導(dǎo)出導(dǎo)入MySQL用戶的方法
這篇文章主要介紹了2013-11-11
python 使用遞歸的方式實(shí)現(xiàn)語義圖片分割功能
這篇文章主要介紹了python 使用遞歸的方式實(shí)現(xiàn)語義圖片分割,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07
python 不關(guān)閉控制臺的實(shí)現(xiàn)方法
在win32下,雙擊python程序會打開dos窗口,但是執(zhí)行完畢后就會關(guān)閉,看不到輸出的結(jié)果2011-10-10

