Python 中 如何复制图片?如何更改图片存储路径?

上午写的图像分析程序,想将不同类型的图片分别存储在不同文件夹下

于是就需要将图片进行复制和删除

先说删除,这个简单:

os.remove(picPath)

然后在复制部分,被坑惨了

有的博客使用shutil的copyfile方法,第一个参数为picPath(也就是带.JPG),第二个参数为目标文件夹时会遇到 

PermissionError: [Errno 13] Permission denied

发现是权限问题,但是无论是取消只读还是设置管理员权限都无法解决

于是,转而使用PIL库的Image类,具体代码如下:

"""
ABANDON_PATH是目标文件夹
注意是文件夹,不是文件!
class_name 是次级文件夹名称
des 是图片最终名称,比如" 03.jpg "
"""
Img = Image.open(picPath)
if os.path.exists(os.path.join(ABANDON_PATH, class_name)):
    Img.save(os.path.join(ABANDON_PATH, class_name,des))
else:
    os.makedirs(os.path.join(ABANDON_PATH, class_name))
    Img.save(os.path.join(ABANDON_PATH, class_name,des))
os.remove(picPath)

成功解决问题!看来果然文件处理还是需要用PIL靠谱点。

posted @ 2020-05-05 16:55  neumy  阅读(608)  评论(0编辑  收藏  举报