使用python删除文件。即使我拥有文件的完全权限,Shutil也会引发拒绝访问

时间:2016-05-16 16:25:29

标签: python windows

所以我有一个备份解决方案,在我使用批处理来处理备份之前,它创建和删除就好了。我移动到python以添加其他功能,但它不再完全删除备份,让我每隔几天手动删除备份。下面是可疑代码..但我发布了整件事以防万一。谢谢!

以下是完整代码:http://pastebin.com/ziQuk05B

def del_rw(action, name, exc):
    try:
        os.chmod(name, stat.S_IWRITE)
        os.remove(name)
    except Exception,e:
        send_email('There was a problem deleting files', 'del_rw function\n' + str(e))

for dir in previous_backups:
    if os.path.getmtime(directory + PAD + dir) == timestamp[0]:
        try:
            shutil.rmtree(os.path.join(directory + PAD, dir), onerror=del_rw)
        except Exception,e:
            send_email('There was a problem deleting old backups', str(e))
    pass

似乎只有只读或系统权限的问题...但它之前删除了它,所以我相信我有权限,只有读取的内容不会让我强制删除它。

1 个答案:

答案 0 :(得分:0)

对于仍有此问题的人,我的问题是我的一些用户文件名太长了。 Windows允许260个字符,我的一些用户超过了。

谢谢!