【问题标题】:How to change gif file to png file using python pil如何使用 python pil 将 gif 文件更改为 png 文件
【发布时间】:2011-10-05 02:04:06
【问题描述】:

这是我的代码:

import Image,glob

files = glob.glob("/small/*.gif") 

for imageFile in files:
    print "Processing: " + imageFile
    try:
        im = Image.open(imageFile)
        im.save( "/small_/", "png" )
    except Exception as exc:
        print "Error: " + str(exc)

但它显示错误:

  File "f.py", line 13
    im.save( "/small_/", "png" )
     ^
SyntaxError: invalid syntax

那我该怎么办,

谢谢

更新:

import Image,glob,os

files = glob.glob("small/*.gif") 

for imageFile in files:
    filepath,filename = os.path.split(imageFile)
    filterame,exts = os.path.splitext(filename)
    print "Processing: " + imageFile,filterame
    im = Image.open(imageFile)
    im.save( 'small_/'+filterame+'.png','PNG')

【问题讨论】:

    标签: python image python-imaging-library


    【解决方案1】:

    尝试将此处的代码复制并粘贴回您的编辑器,它对我来说非常好用。 您那里似乎有一些不可打印的字符或类似的东西。

    另外,看看PIL documentationsave 需要文件名或文件对象,而不是文件夹。

    【讨论】:

      【解决方案2】:

      您应该解决的一件事是将文件名添加到saveim.save("/small_/" + filename_you_make_up + ".png", "png")。虽然这不应该对语法错误负责,但它会解决你的下一个问题。

      【讨论】:

        【解决方案3】:

        这是一个python代码,它将文件夹/gifs/中名为a.gif的文件转换为a.gif.png

        #!/usr/bin/env python
        # -*- coding: utf-8 -*-
        from PIL import Image, ImageDraw, ImageFont #dynamic import
        
        gif='gifs/a.gif'
        img = Image.open(gif)
        img.save(gif+".png",'png', optimize=True, quality=100)
        

        来源:https://gist.github.com/Kennyl/5854a11a0793a90fc8ea6c4746ff9720

        【讨论】:

          【解决方案4】:

          这是一个python代码,将文件夹/gifs/中的所有.gif文件转换为.gif.png文件:

          #!/usr/bin/env python
          # -*- coding: utf-8 -*-
          from PIL import Image, ImageDraw, ImageFont #dynamic import
          
          
          import os
          rootdir = 'gifs'
          extensions = ('.gif')
          
          for subdir, dirs, files in os.walk(rootdir):
              for file in files:
                  ext = os.path.splitext(file)[-1].lower()
                  if ext in extensions:
                      print (os.path.join(subdir, file))
          
                      gif=os.path.join(subdir, file)
                      img = Image.open(gif)
                      img.save(gif+".png",'png', optimize=True, quality=100)
          

          来源:https://gist.github.com/Kennyl/5854a11a0793a90fc8ea6c4746ff9720

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-08-09
            • 1970-01-01
            • 2012-01-12
            • 2011-03-12
            • 2022-07-20
            • 2023-03-10
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多