Python 脚本:生成文件夹列表并删除不在列表中的文件夹

本文介绍使用 Python 脚本生成指定目录下所有文件夹的列表,并删除目标目录下不在列表中的文件夹,方便进行数据整理和文件管理。

生成文件夹列表

import os

dir_path = 'G:/image'  # 图片目录路径
with open('1.txt', 'w') as f:
    for folder_name in os.listdir(dir_path):
        if os.path.isdir(os.path.join(dir_path, folder_name)):
            f.write(folder_name + '
')

代码解释:

  1. 使用 os.listdir(dir_path) 获取指定目录 dir_path 下的所有文件和文件夹名称。
  2. 使用 os.path.isdir(os.path.join(dir_path, folder_name)) 判断是否为文件夹。
  3. 将文件夹名称写入文件 1.txt 中,每行一个文件夹名称。

删除不在列表中的文件夹

import os

dir_path = '/mnt/disk1/lh/landmark/imagenet/train'  # 图片目录路径
with open('1.txt', 'r') as f:
    folder_names = set(f.read().splitlines())

for folder_name in os.listdir(dir_path):
    folder_path = os.path.join(dir_path, folder_name)
    if os.path.isdir(folder_path) and folder_name not in folder_names:
        os.rmdir(folder_path)

代码解释:

  1. 读取 1.txt 文件,将所有文件夹名称存入集合 folder_names 中。
  2. 使用 os.listdir(dir_path) 获取目标目录 dir_path 下的所有文件和文件夹名称。
  3. 使用 os.path.isdir(folder_path) 判断是否为文件夹。
  4. 判断文件夹名称是否在集合 folder_names 中,若不在则使用 os.rmdir(folder_path) 删除该文件夹。

注意:

  • 脚本中 dir_path 变量需根据实际情况进行修改。
  • 运行脚本前请确保已备份重要数据,以免意外删除。
  • 使用该脚本删除文件夹时,请谨慎操作,确保删除的文件夹并非您需要保留的文件夹。

通过以上步骤,您可以轻松地使用 Python 脚本生成指定目录下所有文件夹的列表,并删除目标目录下不在列表中的文件夹。这将有助于您更方便地管理文件和数据。

Python 脚本:生成文件夹列表并删除不在列表中的文件夹

原文地址: https://www.cveoy.top/t/topic/oSVU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录