在Python中查找空目录

44 投票
8 回答
49622 浏览
提问于 2025-04-16 18:50

大家好,

有没有什么好的方法可以在删除一个文件夹之前检查一下里面是否有数据?我在用wget浏览几个页面找图片,当然每个页面并不是都有图片,但文件夹还是会被创建。

dir = 'Files\\%s' % (directory)
os.mkdir(dir)
cmd = 'wget -r -l1 -nd -np -A.jpg,.png,.gif -P %s %s' %(dir,  i[1])
os.system(cmd)
if not os.path.isdir(dir):
    os.rmdir(dir)

我想测试一下在文件夹创建后,里面是否有文件。如果里面什么都没有,就把它删掉。

谢谢,
亚当

8 个回答

17

试试:

if not os.listdir(dir): 
    print "Empty"

或者

if os.listdir(dir) == []:
    print "Empty"
48

我会选择使用 EAFP,就像这样:

try:
    os.rmdir(dir)
except OSError as ex:
    if ex.errno == errno.ENOTEMPTY:
        print "directory not empty"

os.rmdir 这个函数不能删除不为空的文件夹。

64
import os

if not os.listdir(dir):
    os.rmdir(dir)

LBYL 风格。
关于 EAFP,请查看mouad的回答。

撰写回答