if os.path.basename(i) == "dbound" and os.path.isdir(i) and not os.listdir(i):
print ("{} is Empty".format(i))
我更喜欢os.walk(至少过滤掉目录,忽略文件):
for root,dirs,files in os.walk(r'C:\Users\user\Desktop\files1'):
for d in dirs:
if d=="dbound" and not os.listdir(os.path.join(root,d)):
print("empty dbound: {}".format(os.path.join(root,d)))
glob
可以返回目录和文件。在测试条目之前检查它是否是一个目录。要测试名称,请使用os.path.basename
我更喜欢
os.walk
(至少过滤掉目录,忽略文件):这两种解决方案都有效,但不知何故并不令人满意,因为您要扫描磁盘两次(
glob
/os.walk
和os.listdir
)为了避免扫描两次,您必须将结果存储在dictionary/defaultdict中,并对每个目录中的文件进行计数,过滤其中没有文件的文件。更复杂。只有在磁盘性能很重要时才这样做。你知道吗
相关问题 更多 >
编程相关推荐