获取某个目录下所有的一级子目录,当子目录个数达到100个时,删除所有的子目录

你可以使用Python的os模块和递归函数来获取某个目录下的所有一级子目录,并且在子目录个数达到100个时删除所有的子目录。下面是一个示例代码:

import os

def get_immediate_subdirectories(directory):
    subdirectories = []

    # 遍历当前目录下的所有文件和目录
    for item in os.listdir(directory):
        item_path = os.path.join(directory, item)

        # 判断是否为一级子目录
        if os.path.isdir(item_path):
            subdirectories.append(item_path)

    return subdirectories

def delete_subdirectories(subdirectories):
    for subdirectory in subdirectories:
        # 删除子目录及其所有内容
        os.system(f'rm -rf {subdirectory}')

# 测试
directory_path = "/path/to/directory"  # 将这里的路径替换为你要获取一级子目录的目录路径
subdirectories = get_immediate_subdirectories(directory_path)

if len(subdirectories) >= 100:
    delete_subdirectories(subdirectories)

这段代码中,我们首先使用get_immediate_subdirectories函数获取指定目录下的所有一级子目录。然后,我们判断子目录个数是否达到100个,如果达到了,我们调用delete_subdirectories函数来删除所有的子目录及其内容。你可以将/path/to/directory替换为你要获取一级子目录的目录路径。

请注意,删除子目录和它们的内容是没有撤销操作的,请谨慎使用该功能。如果你想要在测试阶段先检查一下是否正确,可以先将delete_subdirectories(subdirectories)这行代码注释掉,并将print(subdirectories)添加在if语句之前,以查看获取的子目录列表。确认结果正确后,再取消注释并运行以删除子目录。