폴더의 많은 파일을 읽고 일부 파일을 선택적으로 보관하는 방법

목차

문제 설명:

문제 해결됨:


문제 설명:

현재 2차 폴더가 있는데, 1차 레벨의 폴더명은 "Papers(LNAI14302-14304)"이고, 2차 레벨 폴더의 디렉토리명은 아래 그림의 파란색 부분에 표시되어 있습니다. 세 번째 레이어는 아래 그림과 같이 저장된 파일이며, 각 파일에는 copyright.pdf, submit.pdf, source.zip이라는 세 개의 파일이 포함되어 있습니다.

파이썬으로 구현하는 방법은 3단계 디렉터리에 있는 파일의 내용을 읽고 가장 안쪽 디렉터리에 "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}")


추천

출처blog.csdn.net/weixin_41862755/article/details/132267236