2013-10-19 286 views
1

我正在读取具有不同图像类型的文件夹,如果它们不在格式中,则将其保存为此格式。将文件保存为jpg格式

但是,当我尝试以这种格式保存它们时,我得到一个IOError。我已确认我正在阅读文件内容:

我正在尝试使用PIL库执行此操作。这是代码:这里

folder = os.listdir("C:\***\***\***\\abc") 
for infile in folder: 
    f,e = os.path.splitext(infile) 
    newFile = f + ".jpg" 
    if infile != newFile: 
     try: 
      Image.open(infile).save(newFile) 
      print "DONE" 
     except IOError: 
      print "Cannot convert file", infile 
    else: 
     print "File: " + f + " is in jpg format" 

检查输出

folder= os.listdir("C:\***\***\***\\abc") 
print folder 
for infile in folder: 
    print infile 

目前我得到的错误信息:

Image.open(infile).save(newFile) 
File "C:\Python27\lib\site-packages\PIL\Image.py", line 1952, in open 
fp = __builtin__.open(fp, "rb") 
IOError: [Errno 2] No such file or directory: 'empire.bmp' 

这是相当多的代码从资源的:http://effbot.org/imagingbook /introduction.htm

谢谢

+0

它完美的作品在我的机器上。你有什么错误信息? – yakiang

+0

没有具体的错误...只是执行除了分支 – user94628

+1

使用此获取错误消息和回溯:http://stackoverflow.com/questions/1715198/exception-message-python-2-6/1715222#1715222 – kren470

回答

3

可能是你的infile无法识别,试试这个:

originFile = 'C:\***\***\***\\abc\%s' % infile 
Image.open(originFile).save(newFile) 
+0

是的...有效。必须没有正确拾取文件路径。谢谢 – user94628

+1

oops我忘了把'newfile'改成绝对路径,它应该是。 @ user94628 – yakiang

+0

感谢您的提示 – user94628

1

尝试使用pgmagick图书馆,我总是用于这项任务,它始终为我做的工作。它非常易于使用。阅读它的任何格式的图像并保存为JPG格式(通过替换路径扩展)