将PIL图像对象转换为文件对象

Kel*_*bra 7 python python-imaging-library

有什么方法(无需将文件保存到磁盘然后再删除)将PIL图像对象转换为文件对象?

rad*_*ere 5

让我们看看什么是文件对象。

with open('test.txt', 'r') as fp:
    print(fp)
    # <_io.TextIOWrapper name='test.txt' mode='r' encoding='UTF-8'>
Run Code Online (Sandbox Code Playgroud)

https://docs.python.org/3/library/io.html也有更多关于此主题的信息。

我怀疑出于您的目的,拥有一个BytesIO对象就足够了。

import io
from PIL import Image
im = Image.new("RGB", (100, 100))
b = io.BytesIO()
im.save(b, "JPEG")
b.seek(0)
Run Code Online (Sandbox Code Playgroud)

但是,如果您确实想要相同的对象,则-

fp = io.TextIOWrapper(b)
Run Code Online (Sandbox Code Playgroud)