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靠谱点。

原文地址:https://www.cnblogs.com/Nortonary/p/12831340.html