PIL:无法识别图像文件

时间:2019-07-28 17:43:13

标签: python python-imaging-library

我正在尝试使用PIL打开图像并获取其缩略图。 问题是PIL对我说:

  

无法识别图像文件

首先,我从S3存储桶下载映像,然后将其保存到AWS Lambda的/tmp/目录中。我确定该文件存在,因为我是通过os.walk()函数将其打印出来的。 我还尝试过直接传递文件的路径。

这是代码段:

bucket.download_file(bucket_key, '/tmp/' + 'michelin.png')
with open('/tmp/michelin.png', 'rb') as f:
    im = Image.open(f)

有什么想法可以解决吗?预先感谢。

2 个答案:

答案 0 :(得分:0)

您不需要提前打开文件。 PIL.Image.open将从内部执行此操作。 https://pillow.readthedocs.io/en/stable/reference/Image.html

Image.open('/tmp/michelin.png')

答案 1 :(得分:0)

已解决。 我不得不使用

img_file_s3 = s3.meta.client.download_file(bucket_name, bucket_key + 'michelin.png', '/tmp/michelin.png')

代替

bucket.download_file(bucket_key, '/tmp/' + 'michelin.png')