关注this answer后,我尝试使用此代码删除文件夹的内容
import os
import glob
files = glob.glob('/YOUR/PATH/*')
for f in files:
os.remove(f)
但是python会返回归因错误"' str'对象没有属性'删除'"。我做错了什么?
答案 0 :(得分:11)
答案 1 :(得分:1)
正如Bob Ezuba在answer中所说,shutil.rmtree()
是一种更好的方法。如果需要,您可以重新创建目录。
使用glob.glob('/your/path/*')
无法找到以前导.
命名的隐藏文件。您可以多次致电glob()
,但这会变得很丑陋。 glob()
也不允许您区分文件和目录,因此很难删除子目录。 shutil.rmtree()
将删除所有文件和子目录。
或者,您可以重命名目录,重新创建目录,然后rmtree()
旧目录。如果您有任何进程写入目录中的文件,这可能会更好。如果rmtree()
无法删除某些文件,例如,它就不会让您的目录陷入混乱状态。由于权限。