通过[错误5]访问被拒绝

时间:2015-07-07 09:27:24

标签: python

我正在尝试使用程序复制USB中的文件。但似乎USB包含“系统卷信息”文件夹,并且由于“[错误5]访问被拒绝”,我的程序每次都会崩溃。我只想删除除“系统卷信息”之外的所有文件和文件夹。我怎样才能实现这一目标?
以下是使其崩溃的代码:

def copy(src, dest):
try:
    shutil.copytree(src, dest)
    print "Data Transfer Finished.."
except OSError as e:
    # If the error was caused because the source wasn't a directory
    if e.errno == errno.ENOTDIR:
        shutil.copy(src, dst)
        print "Copy succeed"
    if e.errno == errno.EACCES:
        pass
except WindowsError:
    if e.errno == errno.EACCES:
        pass
    else:
        print('Directory not copied. Error: %s' % e)

我尝试使用errno.EACCESS,但它只是相同的

1 个答案:

答案 0 :(得分:0)

好吧,我正在谷歌搜索解决方案,我发现了这里的代码如何......

def copy(src, dest):
try:
    shutil.copytree(src, dest, ignore=shutil.ignore_patterns("System Volume Information"))
    print "Data Transfer Finished.."
except OSError as e:
    # If the error was caused because the source wasn't a directory
    if e.errno == errno.ENOTDIR:
        shutil.copy(src, dst)
        print "Copy succeed"
    if e.errno == errno.EACCES:
        pass
except WindowsError:
    if e.errno == errno.EACCES:
        pass
    else:
        print('Directory not copied. Error: %s' % e)

它将忽略"系统卷信息"文件夹.. xD
感谢所有试图帮助我的人..