删除目录中的所有文件
我在尝试删除某个文件夹里的所有文件时,遇到了以下错误:
OSError: [错误号 2] 没有这样的文件或目录: '/home/me/test/*'
我运行的代码是:
import os
test = "/home/me/test/*"
os.remove(test)
13 个回答
18
这有点像小技巧,但如果你想保留这个目录,可以使用下面的代码。
import os
import shutil
shutil.rmtree('/home/me/test')
os.mkdir('/home/me/test')
24
os.remove这个函数不能处理类似Unix风格的模式。如果你在一个类Unix的系统上,你可以这样做:
os.system('rm '+test)
否则你可以:
import glob, os
test = '/path/*'
r = glob.glob(test)
for i in r:
os.remove(i)
79
os.remove()
这个命令不能用来删除文件夹,而 os.rmdir()
只能删除空的文件夹。并且,Python 不会像某些命令行那样自动展开 "/home/me/test/*" 这个路径。
不过,你可以用 shutil.rmtree()
来删除整个文件夹,包括里面的所有内容。
import shutil
shutil.rmtree('/home/me/test')
要小心,因为这个命令会删除文件 以及子文件夹。