Python批量将Photoshop文件保存为图片
共 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能有这么大的作用,语言本身的简洁和老师的认真负责的教学。帮我完成这个工程。这些模板经过删减就可以上传我的网盘模板总结库。这多出来的时间可以去找买顿好吃的了!!!开心撒花~~~~~~