1

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

但是当我尝试以这种格式保存它们时,我得到一个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

谢谢

4

2 回答 2

3

可能是你infile没有被识别,试试这个:

originFile = 'C:\***\***\***\\abc\%s' % infile
Image.open(originFile).save(newFile)
于 2013-10-19T17:30:04.880 回答
1

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

于 2013-10-19T17:15:15.793 回答