【发布时间】:2011-09-07 02:30:11
【问题描述】:
全部,
在删除目录之前检查目录中是否有数据的最佳方法是什么?我正在浏览几个页面以使用 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)
我想测试一个文件是否在创建后被放到了目录中。如果什么都没有...删除它。
谢谢, 亚当
【问题讨论】:
-
定义“空”。如果有子目录怎么办?是否应该检查他们的数据?如果其中没有数据,是否也应该删除它们?
-
在这种情况下,我没有任何子目录,只有一个文件夹,其中可能有也可能没有图片。
-
请不要使用os.system调用wget。使用 subprocess.Popen
-
本质上:
isempty = lambda path : not next(os.scandir(path), None) -
不要使用 os.listdir 或尝试,除了语句。 os.scandir 的速度要快几个数量级。