提示文件/目录删除

时间:2010-01-17 15:15:38

标签: python file-io prompt delete-directory

在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模块,包括标准库,我想知道这样的东西是否已经存在?

3 个答案:

答案 0 :(得分:2)

它不是Python的东西,但如果你继续使用os.system()进行删除调用,你可以将-i参数传递给rm。手册页解释了它:

  每次删除前都会出现

-i提示

编辑:我刚刚再次阅读了您的代码,看起来您只是在整个删除过程之前提示一次,而不是每个文件。您可能会对-I标志感兴趣:

  

-I在删除三个以上文件之前提示一次,或者何时提示   递归删除。较少侵入性   比-i还要保护                 反对大多数错误

答案 1 :(得分:1)

删除目录,使用os模块os.rmdir(),os.removedirs()。或者shutil.rmtree()。​​检查文档以获取更多信息

答案 2 :(得分:0)

好吧,您可以将此功能保存在模块中并在其他模块中重复使用,这样就可以解决您的问题!