網上可以搜到很多方式,有的好使,有的不好使,親測如下腳本可用,并可達到我想要的效果,只將多個文件夾里的文件拷貝到一個文件夾中,不拷貝文件夾本身,如果需要文件夾也拷貝打開注釋行即可
import os
import shutil
import glob# 源文件夾路徑
source_folder = "C:/Users/Desktop/test folder/Source"# 目標文件夾路徑
destination_folder = "C:/Users/Desktop/test folder/destination"# 定義一個遞歸函數,用于遍歷文件夾內的所有文件和子文件夾
def merge_files(source, destination):for filename in os.listdir(source):# 構建源文件的完整路徑source_file = os.path.join(source, filename)# 構建目標文件的完整路徑#destination_file = os.path.join(destination, filename)# 判斷文件是否為普通文件if os.path.isfile(source_file):# 調用shutil模塊的函數將文件復制到目標文件夾內shutil.copy(source_file, destination)# 判斷文件是否為文件夾,并遞歸調用函數處理子文件夾內的文件elif os.path.isdir(source_file):# 創建對應的子文件夾#os.makedirs(destination_file, exist_ok=True)# 調用遞歸函數處理子文件夾內的文件merge_files(source_file, destination)# 調用遞歸函數開始合并文件夾
merge_files(source_folder, destination_folder)