假设我有一个目录C:/Test为空或包含超过 2000000 个文件,所有文件都具有相同的扩展名(例如*.txt)。
如何在不枚举文件的情况下使用 Python 确定目录是否为空?
我意识到这是一个很老的问题,但我发现这个是因为我想做类似的事情,我发现os.scandir与any()结合使用很有用。scandir() 将返回目录中条目的迭代器而不是列表。any() 可以评估迭代器是否为非空。
for _ in os.scandir(path):
print('not empty')
break
Run Code Online (Sandbox Code Playgroud)
或者
if any(os.scandir(path)):
print('not empty')
Run Code Online (Sandbox Code Playgroud)