目录
方法四:使用os模块的listdir函数和isfile函数的组合
方法一:使用os模块的listdir函数和isfile函数
import os
def is_directory_empty(path):
return len([f for f in os.listdir(path) if os.path.isfile(os.path.join(path, f))]) == 0
通过使用listdir函数列出目录中的文件名,并使用isfile函数判断每个文件名是否是文件而不是目录。然后,使用列表推导式将文件名转换为文件路径,并使用join函数获取完整的文件路径,最后计算文件路径列表的长度,如果为0则表示目录为空。
方法二:使用os模块的scandir函数
import os
def is_directory_empty(path):
return len([f for f in os.scandir(path) if f.is_file()]) == 0
利用os模块的scandir函数可以更高效地遍历目录。通过使用scandir函数获取目录中的文件和子目录的迭代器,然后通过is_file方法判断每个迭代对象是否是文件。最后,计算文件迭代器的长度,如果为0则表示目录为空。
方法三:使用os模块的listdir函数和isdir函数
import os
def is_directory_empty(path):
return len([f for f in os.listdir(path) if os.path.isdir(os.path.join(path, f))]) == 0
类似方法一,使用listdir函数列出目录中的文件名,并使用isdir函数判断每个文件名是否是目录而不是文件,然后计算目录名列表的长度,如果为0则表示目录为空。
方法四:使用os模块的listdir函数和isfile函数的组合
import os
def is_directory_empty(path):
return not any([os.path.isfile(os.path.join(path, f)) for f in os.listdir(path)])
通过使用listdir函数列出目录中的文件名,并将文件名转换为文件路径进行判断,然后使用any函数判断文件路径列表是否存在任何一个文件,通过取反操作将结果返回。