tobruk 发表于 2021-5-23 15:52:54

把jpg图片重命名成gif后缀

def rename_image():
    '把部分jpg格式的图片改成gif格式'
    for jpg_name in os.listdir('.'):
      if os.path.getsize(jpg_name) > 600000:
            gif_name = jpg_name.split('.')+'.gif'
            with open(gif_name,'wb') as f1, open(jpg_name,'rb') as f2:
                f1.write(f2)
            os.remove(each)
      else:
            pass

用这种重新写入的方法会报错TypeError: a bytes-like object is required, not '_io.BufferedReader'
用os.rename(jpg_name,gif_name)可以实现
有没有大佬能解释一下为啥重新写入就不行?

fish_游鱼 发表于 2021-5-23 16:02:29

显然你不能把f2这个IO对象直接写入,而是应该通过遍历,readlines这些把内容读出来后写入

tobruk 发表于 2021-5-23 16:16:26

fish_游鱼 发表于 2021-5-23 16:02
显然你不能把f2这个IO对象直接写入,而是应该通过遍历,readlines这些把内容读出来后写入

嗯嗯,应该是f1.write(f2.read()),谢谢!!!
页: [1]
查看完整版本: 把jpg图片重命名成gif后缀