你可以使用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
语句之前,以查看获取的子目录列表。确认结果正确后,再取消注释并运行以删除子目录。