shutil.rmtree()引发异常WindowsError:访问被拒绝:

时间:2013-11-01 14:33:18

标签: python

尝试使用python脚本自动删除文件,我得到:

Traceback (most recent call last):
  Python script "5", line 8, in <module>
    shutil.rmtree(os.path.join(root, d))
  File "shutil.pyc", line 221, in rmtree
  File "shutil.pyc", line 219, in rmtree
WindowsError: [Error 5] Access is denied: 'C:\\zDump\\TVzip\\Elem.avi'

使用此

import os
import shutil

for root, dirs, files in os.walk(eg.globals.tvzip):
    for f in files:
        os.remove(os.path.join(root, f))
    for d in dirs:
        shutil.rmtree(os.path.join(root, d))

for root, dirs, files in os.walk(eg.globals.tvproc):
    for f in files:
        os.remove(os.path.join(root, f))
    for d in dirs:
        shutil.rmtree(os.path.join(root, d))

所有以管理员身份运行,有什么帮助?

1 个答案:

答案 0 :(得分:1)

虽然我无法对Windows权限(或缺少权限)发表评论,但假设你有正确的权限,那么很可能是一个打开的文件句柄。

我只是想提一下,shutil.rmtree将清除它删除的目录中的所有文件...这样你就可以将算法切成两半,并逐个停止删除文件。