首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >创建按数字顺序命名的图像文件

创建按数字顺序命名的图像文件
EN

Stack Overflow用户
提问于 2018-10-19 06:17:21
回答 1查看 281关注 0票数 -1

我有一个脚本,它应该打开一个png图像,然后调整它的大小,然后保存为一个数字序列的jpg。但是我从互联网上复制的数字排序的代码在PIL上不起作用。它给我一个异常"KeyError:'W'“

import os
from PIL import Image

os.chdir('C:\\Users\\paul\\Downloads')

# open canvas.png
original = Image.open('canvas.png')

# resize image height to 2160
size = (3000, 2160)
original.thumbnail(size)

# convert to RGB
RGB = original.convert('RGB')

# save image as sequence
i = 0
while os.path.exists("image%s.jpg" % i):
    i += 1

RGB.save("image%s.jpg" % i, "w")

有没有其他方法可以做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-19 06:22:56

基于Haken Lid的评论的编辑

PIL文档指出,函数save接受以下参数:

Image.save(fp, format=None, **params)

您传递的参数w不在可接受的文件格式集内。Here您可以查看哪些格式被接受。要使其正常工作,只需删除w参数并将%s替换为%d (i是一个整数,而不是一个字符串):

RGB.save("image%d.jpg" % i)

注意::从你的标签不清楚你使用的是python2还是python3。如果你使用的是python 3,我建议使用新的方法来格式化字符串:

RGB.save("image{}.jpg".format(i))

您甚至可以指定填充,以便以后可以按名称对文件进行排序:

RGB.save("image{:04d}.jpg".format(i))

其中4表示您的号码将用零填充,长度至少为4。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52883361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档