복붙노트

[PYTHON] 파이썬에서 디렉토리 삭제하기

PYTHON

파이썬에서 디렉토리 삭제하기

shutil.rmtree는 Windows에서 읽기 전용 파일을 삭제하지 않습니다. "rm -rf"와 동일한 python이 있습니까? 왜 이런 왜 그렇게 고통 스럽습니까?

해결법

  1. ==============================

    1.shutil.rmtree는 파일을 제거하는 데 문제가있을 때 호출 될 오류 처리 함수를 취할 수 있습니다. 이를 사용하여 문제가있는 파일을 강제로 제거 할 수 있습니다.

    shutil.rmtree는 파일을 제거하는 데 문제가있을 때 호출 될 오류 처리 함수를 취할 수 있습니다. 이를 사용하여 문제가있는 파일을 강제로 제거 할 수 있습니다.

    http://mail.python.org/pipermail/tutor/2006-June/047551.html 및 http://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)
    

    (나는 그 발췌 부분을 테스트하지 않았지만 당신을 시작하기에 충분할 것입니다)

  2. ==============================

    2.PyWin32에서 win32api를 가져 오는 경우 다음을 사용할 수 있습니다.

    PyWin32에서 win32api를 가져 오는 경우 다음을 사용할 수 있습니다.

    win32api.SetFileAttributes(path, win32con.FILE_ATTRIBUTE_NORMAL)
    

    파일을 읽기 전용으로 만드는 것을 중지하십시오.

  3. ==============================

    3.또 다른 방법은 Windows에서 rmtree를 다음과 같이 정의하는 것입니다.

    또 다른 방법은 Windows에서 rmtree를 다음과 같이 정의하는 것입니다.

    rmtree = lambda path: subprocess.check_call(['cmd', '/c', 'rd', '/s', '/q', path])
    
  4. ==============================

    4.ActiveState 사이트에는 다음과 같은 코멘트가 있습니다.

    ActiveState 사이트에는 다음과 같은 코멘트가 있습니다.

    나는 Windows를 사용하지 않으므로이 방법이 작동하는지 여부를 확인할 수 없습니다.

  5. ==============================

    5.다음은 Steve가 게시 한 변형입니다. 동일한 기본 메커니즘을 사용하며이 중 하나는 테스트되었습니다.

    다음은 Steve가 게시 한 변형입니다. 동일한 기본 메커니즘을 사용하며이 중 하나는 테스트되었습니다.

    어떤 사용자가 창 에서처럼 파이썬 스크립트를 실행합니까?

  6. ==============================

    6.이것은 아마도 문서에서 이것에 대한 힌트를주는 의미에서 Python 3.5 (현재 - 개발중인 2015 년 6 월)의 릴리스로 수정 될 것입니다.

    이것은 아마도 문서에서 이것에 대한 힌트를주는 의미에서 Python 3.5 (현재 - 개발중인 2015 년 6 월)의 릴리스로 수정 될 것입니다.

    여기에 버그 보고서를 찾을 수 있습니다. 그리고 이것은 변경 집합입니다.

    파이썬 3.5 문서에서 새로 추가 된 예제를 참조하십시오.

    import os, stat
    import shutil
    
    def remove_readonly(func, path, _):
        "Clear the readonly bit and reattempt the removal"
        os.chmod(path, stat.S_IWRITE)
        func(path)
    
    shutil.rmtree(directory, onerror=remove_readonly)
    
  7. from https://stackoverflow.com/questions/1889597/deleting-directory-in-python by cc-by-sa and MIT license