📅  最后修改于: 2023-12-03 15:09:18.688000             🧑  作者: Mango
在程序中,我们经常需要判断一个目录是否为空。在 Python 中,可以使用 os
模块下的 listdir
函数来获取目录下的文件列表,然后判断其长度是否为0,即可判断该目录是否为空。
如果目录不为空,则可以使用 shutil
模块下的 rmtree
函数来删除该目录及其中的所有文件和子目录。
下面是一个示例代码:
import os
import shutil
def remove_if_empty(dir_path):
"""
如果目录不为空,则删除该目录及其中的所有文件和子目录。
Args:
dir_path: 目录的路径。
Returns:
如果目录不为空,返回 True;否则返回 False。
"""
file_list = os.listdir(dir_path) # 获取目录下的文件列表
if len(file_list) == 0: # 如果目录为空,则直接返回 False
return False
else:
shutil.rmtree(dir_path) # 否则删除目录及其中的所有文件和子目录
return True
以上代码中,remove_if_empty
函数可以接收一个目录路径作为参数。如果该目录不为空,则会删除该目录及其中的所有文件和子目录,并返回 True;否则直接返回 False。
以下是函数的使用示例:
if remove_if_empty('/path/to/empty/dir'):
print('目录已删除')
else:
print('目录为空')
以上代码中,remove_if_empty
函数的参数为 /path/to/empty/dir
,如果该目录不为空,则会删除该目录及其中的所有文件和子目录,并打印 目录已删除
。如果该目录为空,则只会打印 目录为空
。
以上就是如何在 Python 中判断目录是否为空并删除的方法。