Python批量将Photoshop文件保存为图片

Python与算法社区

共 1688字,需浏览 4分钟

 ·

2022-07-05 18:29

这是给zhenguo老师的投稿,已经收获50元稿费。

困扰我的问题

我是一名电商美工设计师,俗称电商图片搬运工,我的桌面经常是这样的。再就是这样的。各种的psd文件再加上文字无法表达色彩和构图的关键信息,时间一久就让我无法分辨这些区别。

以前的解决办法

以前我的办法就是一张一张的保存。然后放到文件的中。或者是采用新版本或者自带预览功能的软件。(这两种办法要不就是有局限性太麻烦,要不就是做到让哭555555)再加上每天再设计的过程中会产生源源不断的psd文件,所以这个问题是很困扰我的。

遇到转机

后来听说,人生苦短,早用python。再加上我对编程有一些简单的了解。并且看到zhenguo老师认真负责的教学态度。我就报名了这个零基础入门Python课程。听老师说Python啥都干,除了不能生孩子。我就想到我这个老大难问题。就想到了用Python编程来解决这个问题。

解决步骤

安装包并调试

找到Python中关于ps调用的包,后来选定了psd-tools包 安装它

读懂psd-tools文档并构建写代码的思路

用从zhenguo老师那里学到的Python的基础语法知识,和os内置模块。还有就是debug调试代码的方法。print()方法测试。

1.读取桌面文件找到所在的文件目录(这里可用input()改写复用) 

2.再该文件下建一个文件夹printPhoto 

3.对每个psd文件的路径进行获取(遍历)

4.保存进行输出

代码展示

from psd_tools import PSDImage
import os
psddir = 'C:/Users/Administrator/Desktop/123/'
#遍历每一个文件下的psd文件
files = os.listdir(psddir)
print(files)
#构建输出文件夹printphoto
outdir = psddir + '/' + 'printphoto'
#判断目录是否存在,不存在就新建一个
if not os.path.exists(outdir):
    print(f"{outdir}⽬录不存在")
    os.mkdir(outdir)
#printphoto文件夹也计数一次所以从0开始
i = 0
for f in files:
    i += 1
    fname = psddir + f
    print(fname)
    #打开每一个psd文件,除psd以外的文件可能报错需要删除可以用if写一个判断。
    psd = PSDImage.open(fname)
    photooutname = os.path.join(outdir, f.split('.')[0]+'.BMP')
    psd.composite().save(photooutname)
print(f'转化完成,一共有{i}个psd文件')

这个错误需要删除文件夹

效果展示

总结

这真的是没有想到的,学习Python能有这么大的作用,语言本身的简洁和老师的认真负责的教学。帮我完成这个工程。这些模板经过删减就可以上传我的网盘模板总结库。这多出来的时间可以去找买顿好吃的了!!!开心撒花~~~~~~


浏览 33
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报