本人最近刚好接触tkinter库,遇到显示图片的问题,需要jpg自动批量转换为gif的工具,由于懒得去找,根据网上的教程,做了一个程序
1.以下是代码内容:
import os
from PIL import Image
def tran_gif(a,b):
path=a
file=os.listdir(path)#返回文件夹包含文件及文件夹名字列表
print(file)
images=[]
for i in range(len(file)):
file[i] = path + file[i]
ima = Image.open(file[i])
images.append(ima)
images[i].save(b + 'name.gif', "GIF", save_all=False)#转格式
path="转换的jpg文件路径"
#注意路径用这种形式 'C:/xxxx/xxxx/xxx/' 或 'D:/xxxx/xxxx/xxx/'
path1="gif文件生成文件路径"
#同路径时,path=path1
tran_gif(path,path1)
2.print一下file:
['1.jpg', '10.jpg', '11.jpg', '12.jpg', '13.jpg', '14.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg', '6.jpg', '7.jpg', '8.jpg', '9.jpg']
3.print一下file[i]
C:/Users/120/Pictures/girl/1.jpg 等
4.如果想要从小到大排序
则加一条 file.sort(key=lambda x: int(x[:-4]))
def tran_gif(a,b):
path=a
file=os.listdir(path)#返回文件夹包含文件及文件夹名字列表
file.sort(key=lambda x: int(x[:-4]))
images=[]
for i in range(len(file)):
file[i] = path + file[i]
ima = Image.open(file[i])
images.append(ima)
images[i].save(b + 'name.gif', "GIF", save_all=False)#转格式
path="转换的jpg文件路径"
#注意路径用这种形式 'C:/xxxx/xxxx/xxx/' 或 'D:/xxxx/xxxx/xxx/'
path1="gif文件生成文件路径"
#同路径时,path=path1
tran_gif(path,path1)
5.print一下file:
['1.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg', '6.jpg', '7.jpg', '8.jpg', '9.jpg', '10.jpg', '11.jpg', '12.jpg', '13.jpg', '14.jpg']
解决了。
本人只是菜鸟,如果有改进方法,还望赐教
6.参考链接:
深入探索Python中的os.listdir函数-CSDN博客
Python 使用sort(key=lambda)按顺序读取指定文件夹下的文件_按照顺序读取文件名-CSDN博客