python Shutil copy2的有效使用

发布于 2024-10-12 14:31:03 字数 445 浏览 1 评论 0原文

如果我们看一下文件复制函数,我们可以看到有几个异常需要处理。一个很好的例子在这里: 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)

我应该对上面的函数做什么?

if we take a look at a file copy function, we can see there are several exceptions to handle. A good example is here: http://msdn.microsoft.com/en-us/library/9706cfs5.aspx

my question is if i use python shutil copy2, what should I pay attention to cope with various exceptions (source file not found, access not authorized, etc.)?

e.g.

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

what should i do to the above function?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

难如初 2024-10-19 14:31:03

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

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

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

You may just need handle the IOError exception that may be caused due to any permissions or Invalid destination name issue.

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

The other exceptions mentioned in the MSDN article seems to fall under the same IOError in python. The FileNotFound and DirectoryNotFound are not really applicable as shutil.copy will create the destination if it not already exists. Also, I find that happening of OSError are also remote this in case.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文