使用Python删除文件夹中的所有内容

时间:2016-01-25 00:21:15

标签: python

关注this answer后,我尝试使用此代码删除文件夹的内容

import os
import glob

files = glob.glob('/YOUR/PATH/*')
for f in files:
    os.remove(f)

但是python会返回归因错误"' str'对象没有属性'删除'"。我做错了什么?

2 个答案:

答案 0 :(得分:11)

要删除整个目录,请使用shutil.rmtree('/your/path')

从Python文档中了解更多信息

查看已经回答的类似question

答案 1 :(得分:1)

正如Bob Ezuba在answer中所说,shutil.rmtree()是一种更好的方法。如果需要,您可以重新创建目录。

使用glob.glob('/your/path/*')无法找到以前导.命名的隐藏文件。您可以多次致电glob(),但这会变得很丑陋。 glob()也不允许您区分文件和目录,因此很难删除子目录。 shutil.rmtree()将删除所有文件和子目录。

或者,您可以重命名目录,重新创建目录,然后rmtree()旧目录。如果您有任何进程写入目录中的文件,这可能会更好。如果rmtree()无法删除某些文件,例如,它就不会让您的目录陷入混乱状态。由于权限。