Python實現(xiàn)找到同名文件并復(fù)制到其他文件夾中
本文介紹基于Python語言,針對一個文件夾下大量的Excel表格文件,基于其中每一個文件的名稱,從另一個文件夾中找到與這一文件夾中文件同名的文件,并將找到的同名文件復(fù)制到第三個文件夾中的方法。
首先,我們來明確一下本文的具體需求。現(xiàn)有一個文件夾,其中有大量的Excel表格文件(在本文中我們就以csv
格式的文件為例)——這一文件夾中的文件其實也就是我們通過文章Python遍歷大量表格文件并篩選出表格內(nèi)數(shù)據(jù)缺失率低的文件篩選得到的文件;如下圖所示。
此外,我們還有一個文件夾(我們將其稱作大文件夾),其中存放了較之上圖所示的文件夾中,更多的Excel表格文件;我們希望實現(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ù)制文件到另一個文件夾中。
運行上述代碼后,我們即可在new_path
這一文件夾中,找到我們復(fù)制好的文件;其中,很顯然new_path
這一文件夾的文件數(shù)量與source_path
文件夾中的文件數(shù)量是一致的。
至此,大功告成。
到此這篇關(guān)于Python實現(xiàn)找到同名文件并復(fù)制到其他文件夾中的文章就介紹到這了,更多相關(guān)Python復(fù)制文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python批量上傳文件信息到服務(wù)器的實現(xiàn)示例
在進(jìn)行軟件測試的過程中,經(jīng)常會需要準(zhǔn)備一批數(shù)據(jù),本文主要介紹了Python批量上傳文件信息到服務(wù)器的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下2023-12-12Python 中獲取數(shù)組的子數(shù)組示例詳解
在 Python 中獲取一個數(shù)組的子數(shù)組時,可以使用切片操作,使用切片操作來獲取一個數(shù)組的一段連續(xù)的子數(shù)組,并且還可以使用一些方便的語法來簡化代碼,這篇文章主要介紹了如何在 Python 中獲取數(shù)組的子數(shù)組,需要的朋友可以參考下2023-05-05淺析python實現(xiàn)動態(tài)規(guī)劃背包問題
這篇文章主要介紹了python實現(xiàn)動態(tài)規(guī)劃背包問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12