目录
问题描述:
当前有一个二级文件夹,第一层是文件夹名称是“Papers(LNAI14302-14304)",第二级文件夹目录名称如下图蓝色部分所示。第三层为存放的文件,如下下图所示,每一个文件中,均存放三个文件,分别为copyright.pdf, submission.pdf, source.zip.
如何python实现,读取三层目录下的文件内容,并且将最里面一层目录中的“submission.pdf"筛选,并保存。
问题解决:
python实现读取文件夹内的内容,并筛选部分内容,写入到另外一个文件夹中。
import os
import shutil
source_parent_folder = "Papers (LNAI14302-14305)" # 主文件夹
target_parent_folder = "LANI_submission" # 目标文件夹
# 确保目标文件夹存在
os.makedirs(target_parent_folder, exist_ok=True)
for folder_name in os.listdir(source_parent_folder):
folder_path = os.path.join(source_parent_folder, folder_name)
if os.path.isdir(folder_path):
source_file_pth = os.path.join(folder_path, "submission.pdf")
target_folder_path = os.path.join(target_parent_folder, folder_name)
target_file_path = os.path.join(target_folder_path, "submission.pdf")
# 确保目标子文件夹存在
os.makedirs(target_folder_path, exist_ok=True)
if os.path.exists(source_file_pth):
shutil.copy2(source_file_pth, target_file_path) # shutil.copy2()不仅保存内容,也保存源文件的一切具体信息。比如格式等信息,不同于shutil.copy()
print(f"Copied submission from {folder_name} to {target_folder_path}")