python shutil copy2的有效使用

python shutil copy2的有效使用,python,file,exception-handling,copy,shutil,Python,File,Exception Handling,Copy,Shutil,如果我们看一看文件复制函数,就会发现有几个异常需要处理。一个很好的例子是: 我的问题是,如果我使用python shutil copy2,我应该注意什么来处理各种异常(未找到源文件、未授权访问等) e、 g 我应该如何处理上述函数 您可能只需要处理由任何权限或无效目标名称问题引起的IOError异常 try: shutil.copy(src,dst) except IOError as e: print e MSDN文章中提到的其他异常在python中似乎属于相同的IOErro

如果我们看一看文件复制函数,就会发现有几个异常需要处理。一个很好的例子是:

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

e、 g


我应该如何处理上述函数

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

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

MSDN文章中提到的其他异常在python中似乎属于相同的IOError。FileNotFound和DirectoryNotFound实际上不适用,因为shutil.copy将创建目标(如果目标不存在)。此外,我发现在这种情况下,OSError的发生也是遥不可及的。

如果这是您的问题,我认为Python不会抛出C#异常。感谢您建议只检查OSError。我无法重现shutil.copy将创建目标目录的说法,文档也不支持这种说法。关闭时,我收到ISDirectoryError或FileNotFoundError异常。复制到不存在的目录分别取决于是否指定了目标文件名。
try:
    shutil.copy(src,dst)
except IOError as e:
    print e