您的位置:

Python判断文件夹是否为空的方法

一、使用os.listdir方法判断

Python中可以使用内置的os.listdir方法获取文件夹中的文件列表,通过判断列表的长度是否为0,即可判断该文件夹是否为空。下面是代码示例:


import os

def is_empty_folder(path):
    return len(os.listdir(path)) == 0

以上代码中,is_empty_folder方法接收一个参数,代表要判断的文件夹路径,通过调用os.listdir方法获取文件夹中的文件列表,并判断其长度是否为0,最终返回True或False来表示该文件夹是否为空。

二、使用glob.glob方法判断

除了使用os.listdir方法外,还可以使用glob.glob方法来判断文件夹是否为空。该方法可以通过文件通配符匹配来获取指定文件夹下的所有文件,如果不存在任何文件,则表示该文件夹为空。下面是代码示例:


import glob

def is_empty_folder(path):
    return not glob.glob(path + '/*')

以上代码中,is_empty_folder方法接收一个参数,代表要判断的文件夹路径,通过调用glob.glob方法获取指定文件夹下的所有文件,并通过判断返回的结果列表是否为空来判断该文件夹是否为空。

三、使用os.scandir方法判断

Python3.5及以上版本中引入了os.scandir方法,该方法比os.listdir方法更高效,并且返回的是一个迭代器,可以在处理大量文件时节省内存。下面是代码示例:


import os

def is_empty_folder(path):
    with os.scandir(path) as dir_contents:
        return not any(dir_contents)

以上代码中,is_empty_folder方法接收一个参数,代表要判断的文件夹路径,通过使用with语句打开文件夹,并通过调用os.scandir方法返回一个迭代器,然后利用any方法判断迭代器是否为空来判断该文件夹是否为空。

四、使用os.path.isdir方法判断

除了使用上述方法外,还可以使用os.path.isdir方法判断文件夹是否存在,如果存在则继续判断文件夹中是否有文件即可。以下是代码示例:


import os

def is_empty_folder(path):
    if os.path.isdir(path):
        return not os.listdir(path)
    else:
        return False

以上代码中,is_empty_folder方法接收一个参数,代表要判断的文件夹路径,通过使用os.path.isdir方法判断文件夹是否存在,如果存在,则使用os.listdir方法获取文件列表,并判断该列表是否为空,最终返回True或False表示该文件夹是否为空。