Skip to main content
 首页 » 编程设计

python之有效使用python shutil copy2

2025年05月04日23unruledboy

如果我们看一下文件复制函数,我们会发现有几个异常需要处理。一个很好的例子在这里:http://msdn.microsoft.com/en-us/library/9706cfs5.aspx

我的问题是如果我使用python shutil copy2,我应该注意什么来应对各种异常(找不到源文件,访问未授权等)?

例如

def copy_file (self):    
    if not os.path.isdir(dest_path): 
        os.makedirs(dest_path) 
    shutil.copy2(src_path, dest_path) 

我应该如何处理上述功能?

请您参考如下方法:

您可能只需要处理可能由于任何权限或无效目标名称问题引起的 IOError 异常。

try: 
    shutil.copy(src,dst) 
except IOError as e: 
    print e 

MSDN 文章中提到的其他异常似乎属于 python 中的相同 IOError。 FileNotFound 和 DirectoryNotFound 并不真正适用,因为 shutil.copy 将创建目的地(如果它尚不存在)。此外,我发现 OSError 的发生也是遥远的,以防万一。