删除Python中的目录

kev*_*ine 31 python directory delete-file

shutil.rmtree不会删除Windows上的只读文件.有一个python相当于"rm -rf"?为什么哦为什么会这么痛?

Ste*_*osh 44

shutil.rmtree可以采用错误处理函数,该函数在删除文件时会被调用.您可以使用它来强制删除有问题的文件.

灵感来自http://mail.python.org/pipermail/tutor/2006-June/047551.htmlhttp://techarttiki.blogspot.com/2008/08/read-only-windows-files-with-python. HTML:

import os
import stat
import shutil

def remove_readonly(func, path, excinfo):
    os.chmod(path, stat.S_IWRITE)
    func(path)

shutil.rmtree(top, onerror=remove_readonly)
Run Code Online (Sandbox Code Playgroud)

(我没有测试过该片段,但它应该足以让你入门)

  • 单行代码: `shutil.rmtree('mypath', onerror=lambda func, path, _: (os.chmod(path, stat.S_IWRITE), func(path)))` (5认同)