将文件保存为jpg格式

时间:2013-10-19 16:51:44

标签: python python-imaging-library

我正在阅读具有不同图像类型的文件夹,如果它们不是 jpeg 格式,则以这种格式保存它们。

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

我尝试使用 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

由于

2 个答案:

答案 0 :(得分:3)

可能是您的infile未被识别,请尝试此操作:

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

答案 1 :(得分:1)

尝试使用pgmagick库,我总是用于此任务,它总是为我完成工作。它真的很容易使用。无论采用何种格式读取图像,并将其保存为jpg(通过替换路径中的扩展名)