·
#include __FILE__

你这代码问题有点多

首先覆盖了list()函数,这不是一个好习惯

其次下面应该用if __name__ == '__main__':包裹

还有你的写法直接忽略了文件夹层次,如果给的路径里面有多层次文件夹并且里面有图片的话会直接报错,然后files本来就是一个列表了不需要再遍历,可以直接添加

最后不应该直接删除原图片,这样太暴力了,如果出了什么问题,你原图片就没了

Replies
11

你说的没错

from os import *
from PIL import Image

PATH = r"C:\Users\Administrator\Desktop"
def convert(list):
        wept = path.join(PATH, list)
        img = Image.open(wept)
        img.load()
        img.save(path.join(PATH, list[0:list.rindex('.')] + ".jpg"))
        remove(wept)

for root, dirs, files in walk(PATH):
    for f in files:
        if path.splitext(f)[1] == ".webp": convert(f)

这样呢,现在是15行