我需要开发一个脚本来启动一些计算。A 希望此脚本通过删除一些临时目录来正确处理 ^C。我在 signal_handler 中尝试了几个版本的代码:
shutil.rmtree(self.temp)
甚至
os.system("rm -rf " + self.temp)
当我中断执行并调用处理程序以删除目录时,我收到如下错误:
OSError: [Errno 17] File exists : 'foo'
或者
rm: Unable to remove directory foo: File exists
执行后,我要删除的目录是空的,可以rm -r
在shell中用a删除。但是,如果我执行代码:
for f in os.listdir(self.temp):
os.remove(os.path.join(self.temp,f))
for f in os.listdir(self.temp):
print f
os.rmdir(self.temp)
当然,我遇到了错误,但是第二个循环找到了这个文件:.nfsA13D3
有人可以解决我的问题吗?谢谢 !