遇到缺少源fi时强制关闭复制继续通过列表

2024-09-29 00:15:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用shutil根据用户提供的文件复制上游进程的输出。有时这些文件与上游进程不兼容,因此我尝试移动的最终文件不会被创建。在

我给shutil一个详细的文件路径列表,我希望它继续移动列表中的所有项目,即使一个或多个源文件丢失。在

source = ['/home/Desktop/folder/subfolder/file.ext', '/home/Desktop/folder/subfolder2/file2.ext', '/home/Desktop/folder/subfolder3/file3.ext']
dest = ['/home/Desktop/target/file.ext','/home/Desktop/target/file2.ext', '/home/Desktop/target/file3.ext']
for sou, des in zip(source, dest):
    shutil.copyfile(sou, des)

Tags: 文件sourcetargethome列表进程folderext
1条回答
网友
1楼 · 发布于 2024-09-29 00:15:00

一种方法是简单地在调用周围添加异常处理,例如:

import shutil

source = ['/home/Desktop/folder/subfolder/file.ext', '/home/Desktop/folder/subfolder2/file2.ext', '/home/Desktop/folder/subfolder3/file3.ext']
dest = ['/home/Desktop/target/file.ext','/home/Desktop/target/file2.ext', '/home/Desktop/target/file3.ext']

for sou, des in zip(source, dest):
    try:
        shutil.copyfile(sou, des)
    except IOError as e:
        print e

对于丢失的文件,将显示以下内容:

^{pr2}$

相关问题 更多 >