如何删除文件夹中的内容?
我该如何在Python中删除本地文件夹里的内容呢?
现在这个项目是针对Windows系统的,但我也想看看在*nix系统上怎么做。
28 个回答
368
你可以使用 shutil.rmtree
来删除一个文件夹及其里面的所有内容:
import shutil
shutil.rmtree('/path/to/folder')
shutil.rmtree(path, ignore_errors=False, onerror=None)
这个命令可以删除整个文件夹及其所有子文件夹和文件;path 需要指向一个文件夹(而不是指向文件夹的快捷方式)。如果 ignore_errors 设置为真,删除失败时的错误会被忽略;如果设置为假或者不写,错误会通过 onerror 指定的处理方式来处理,如果没有指定处理方式,就会抛出一个异常。
495
你可以这样做:
import os
import glob
files = glob.glob('/YOUR/PATH/*')
for f in files:
os.remove(f)
当然,你也可以在路径中使用其他过滤器,比如:/YOUR/PATH/*.txt,这样可以删除目录下所有的文本文件。
697
import os, shutil
folder = '/path/to/folder'
for filename in os.listdir(folder):
file_path = os.path.join(folder, filename)
try:
if os.path.isfile(file_path) or os.path.islink(file_path):
os.unlink(file_path)
elif os.path.isdir(file_path):
shutil.rmtree(file_path)
except Exception as e:
print('Failed to delete %s. Reason: %s' % (file_path, e))
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。