如果我们看一下文件复制函数,我们会发现有几个异常需要处理。一个很好的例子在这里: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 的发生也是遥远的,以防万一。
