📜  如果不为空,则为空目录 python (1)

📅  最后修改于: 2023-12-03 15:09:18.688000             🧑  作者: Mango

如果不为空,则为空目录 Python

在程序中,我们经常需要判断一个目录是否为空。在 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 中判断目录是否为空并删除的方法。