Python 正在尝试使用枕头库创建gif
~z~这是我正在做的大学作业。目标是使用枕头库创建gif 我有大约720张图片都使用了a.jpg格式,其中是一个数字,即a 001.jpg 对于这些图像,我试图通过逐步调整图像a 001.jpg的大小10倍来创建gif,然后使用递归函数,该函数应更改为下一个图像a 002.jpg,并调整该图像的大小10倍,以此类推。。。;直到它到达721.jpg,应该停止 我不熟悉python中的枕头库,所以我现在有点不知所措。 我也确信这段代码中有很多错误或低效 这将运行;但是,它不会继续到下一个图像。我尝试了一些方法来操作字符串a 001.jpg。 有人能告诉我问题出在哪里吗Python 正在尝试使用枕头库创建gif,python,list,gif,pillow,Python,List,Gif,Pillow,~z~这是我正在做的大学作业。目标是使用枕头库创建gif 我有大约720张图片都使用了a.jpg格式,其中是一个数字,即a 001.jpg 对于这些图像,我试图通过逐步调整图像a 001.jpg的大小10倍来创建gif,然后使用递归函数,该函数应更改为下一个图像a 002.jpg,并调整该图像的大小10倍,以此类推。。。;直到它到达721.jpg,应该停止 我不熟悉python中的枕头库,所以我现在有点不知所措。 我也确信这段代码中有很多错误或低效 这将运行;但是,它不会继续到下一个图像。我尝试
from PIL import Image
s = ("a 001.jpg")
im = Image.open(s)
def main(im):
try:
x = 920
y = 80
for a in range(0,10):
x += 100
y += 100
box = (x,y)
im = im.resize(box)
im.show()
s = list(s)
if s[4] < 9:
s[4] = int(s[4]) + 1
elif s[4] == 9:
s[4] = 0
s[3] = int(s[3]) + 1
elif s[3] < 9:
s[3] = int(s[3]) + 1
elif s[3] == 9:
s[3] = 0
s[2] = int(s[2]) + 1
elif s[2] < 9:
s[2] = int(s[2]) + 1
elif s[2] == 9:
s[2] = 0
s = ''.join(s)
im = Image.open(s)
return main(im)
except:
return -1
main(im)
我想这就是问题所在:
s = list(s)
您可能认为s是全局变量,但对于python,s是局部变量,这是由于赋值。要使s全球化,请执行以下操作:
def main(im):
global s
...
此外,您正在捕获所有异常,因此可能没有收到任何错误。如果你真的坚持抓捕,现在就做以下几点:
except Exception as inst:
raise(inst)
这应该能说明发生了什么。您正在将字符串与整数进行比较,并且一次只比较和更新一个字符。我完全忽略了这一点,谢谢。现在问题仍然在清单中。TypeError:unorderable types:str