我正在使用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)
答案 0 :(得分:0)
一种方法是简单地在调用周围添加异常处理,例如:
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
这将显示以下缺失文件:
[Errno 2] No such file or directory: '/home/Desktop/folder/subfolder/file.ext'
[Errno 2] No such file or directory: '/home/Desktop/folder/subfolder2/file2.ext'
[Errno 2] No such file or directory: '/home/Desktop/folder/subfolder3/file3.ext'