フォルダー内の多数のファイルを読み取り、一部のファイルを選択して保持する方法

目次

問題の説明:

問題が解決しました:


問題の説明:

現在 2 番目のフォルダーがあり、第 1 階層のフォルダー名は「Papers(LNAI14302-14304)」で、第 2 階層のフォルダーのディレクトリ名は下図の青色の部分に表示されます。3 番目の層は保存されたファイルです。下の図に示すように、各ファイルには copyright.pdf、submission.pdf、source.zip という 3 つのファイルが含まれています。

Pythonでの実装方法は、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
おすすめ