这是我的代码:
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')
答案 0 :(得分:2)
尝试将您的代码复制并粘贴到您的编辑器中,它对我来说非常好。 你似乎有一些不可打印的字符或类似的东西。
另外,请查看PIL documentation,save
需要文件名或文件对象,而不是文件夹。
答案 1 :(得分:0)
您应该修复的一件事是向save
添加文件名:im.save("/small_/" + filename_you_make_up + ".png", "png")
。这不应该对语法错误负责,但它会解决你的下一个问题。
答案 2 :(得分:0)
这是将文件夹a.gif
中名为/gifs/
的文件转换为a.gif.png
的python代码:
#!/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
答案 3 :(得分:0)
这是一个python代码,它将文件夹.gif
中的所有/gifs/
文件转换为.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