一、使用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表示该文件夹是否为空。