Cómo leer muchos archivos en una carpeta y conservar algunos archivos de forma selectiva

Tabla de contenido

Descripción del problema:

problema resuelto:


Descripción del problema:

Actualmente hay una carpeta secundaria. El nombre de la carpeta del primer nivel es "Papers (LNAI14302-14304)", y el nombre del directorio de la carpeta del segundo nivel se muestra en la parte azul de la figura siguiente. La tercera capa son los archivos almacenados, como se muestra en la figura siguiente, cada archivo contiene tres archivos, a saber, copyright.pdf, submit.pdf y source.zip.

Cómo implementarlo en Python, leer el contenido de los archivos en el directorio de tres niveles y filtrar y guardar el "submission.pdf" en el directorio más interno.

 

problema resuelto:

Python se da cuenta de leer el contenido de la carpeta, filtrar parte del contenido y escribirlo en otra carpeta.

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}")


Supongo que te gusta

Origin blog.csdn.net/weixin_41862755/article/details/132267236
Recomendado
Clasificación