• 全部
  • 互动交流
  • 文章分享

python缩略图出现问题求助

syanmug 2019-09-02 06:15:45
想做一个把当前目录下所有jpg图像压缩生成预览图,保存到子目录directory_radio里,原文件夹有正常jpg图片
运行结果出错:

总是"读写文件出错"

是不是我保存那行:im.save(f'{dir}/directory_radio/{filename_thum}','JPEG')有问题,应该怎么改,请各位大神关注下.


import os
import glob
from PIL import Image
dir=os.getcwd()
for filename in glob.glob(f'{dir}/*.jpg'):
filename_thum=filename.split('.')[0]+'_thum.'+filename.split('.')[1]
with open(f'{filename}','rb') as f:
im=Image.open(f)
im.thumbnail((200,100),Image.ANTIALIAS)
try:
os.mkdir('directory_radio')
if os.path.exists('directory_radio'):
im.save(f'{dir}/directory_radio/{filename_thum}','JPEG')
except IOError:
print ("读写文件错误")
else:
print ("保存成功")
...全文
59 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
syanmug 2019-09-03
我导入了traceback库
print (traceback.print_exc())
提示
<function print_exc at 0x7f400b104ea0>

我看有的文章说thumbnail直接改变原对象大小返回值为none,resize函数不会改变原对象大小,会返回新的Image对象,这和我另存图片出错有没有关系呢?

引用 4 楼 陈年椰子 的回复:
except IOError as e:

改为

except Exception as e:

这样可以捕获所有异常
回复
syanmug 2019-09-03
引用 4 楼 陈年椰子 的回复:
except IOError as e:

改为

except Exception as e:

这样可以捕获所有异常


我弄明白了,是for filename in glob.glob(f'{dir}/*.jpg'):出现问题,filename是个带目录的字符串

改成:
for file_location in glob.glob(f'{dir}/*.jpg'):
filename=file_location.split('/')[-1]

这样就正常了.再次感谢陈年椰子,希望以后多多交流.
回复
陈年椰子 2019-09-02
except IOError as e: 改为 except Exception as e: 这样可以捕获所有异常
回复
陈年椰子 2019-09-02


            try:
                 os.mkdir('directory_radio')
                 if os.path.exists('directory_radio'):
                      file_tmp = r'{0}/directory_radio/{1}'.format(dir,filename_thum)
                      im.save(file_tmp,'JPEG')
                      print ("保存成功", file_tmp)
            except IOError as e:
                   print ("读写文件错误",repr(e))

                  

回复
syanmug 2019-09-02
感谢陈年椰子的关注,按您的方法改了,还是提示"读写文件错误".
是不是其他问题,还有其他异常没考虑到?
回复
陈年椰子 2019-09-02
im.save(f'{dir}/directory_radio/{filename_thum}','JPEG') 改为以下试试 im.save(f'{0}/directory_radio/{1}'.format(dir,filename_thum ),'JPEG')
回复
相关推荐
发帖
脚本语言
创建于2007-08-27

3.7w+

社区成员

JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
申请成为版主
帖子事件
创建了帖子
2019-09-02 06:15
社区公告

CSDN 脚本语言社区接受专栏投稿(专栏会在顶部创建专属你的栏目),投稿需满足以下要求:

  • 脚本语言技术相关;
  • 文章持续更新,保持活跃;
  • 内容清晰明了,干货为主;
  • 文章排版有序,有条有理。

本社区开通招聘专栏,发布招聘信息请联系版主,发布者需要保证招聘信息真实有效,CSDN 平台和版主不对招聘内容负责!

联系方式:私聊版主、发送邮件、QQ联系等均可: