在Python中编码时,我经常需要编写类似这样的函数:
def delete_dir(dir_name):
if os.path.exists(dir_name):
reply = raw_input("Delete directory "+dir_name+"? [y/[n]] ")
if reply=='y':
os.system('rm -r '+dir_name)
else:
print "Aborting..."
sys.exit()
这基本上只是一个删除命令,用户提示要仔细检查(我还有一个用于删除文件)。考虑到大量的Python模块,包括标准库,我想知道这样的东西是否已经存在?
答案 0 :(得分:2)
它不是Python的东西,但如果你继续使用os.system()进行删除调用,你可以将-i
参数传递给rm
。手册页解释了它:
每次删除前都会出现-i提示
编辑:我刚刚再次阅读了您的代码,看起来您只是在整个删除过程之前提示一次,而不是每个文件。您可能会对-I
标志感兴趣:
-I在删除三个以上文件之前提示一次,或者何时提示 递归删除。较少侵入性 比-i还要保护 反对大多数错误
答案 1 :(得分:1)
删除目录,使用os模块os.rmdir(),os.removedirs()。或者shutil.rmtree()。检查文档以获取更多信息
答案 2 :(得分:0)
好吧,您可以将此功能保存在模块中并在其他模块中重复使用,这样就可以解决您的问题!