首页 > 解决方案 > 使用 PIL 在 ftp 服务器上打开图像

问题描述

我有许多图像存储在 ftp 服务器中。

我想避免下载所有图像,而只是使用 PIL 从 ftp 加载它们,如下所示:

from PIL import Image
img = Image.open("ftp://myftp.com/dir/myimage.bmp")

它不能以这种方式工作(没有这样的文件或目录)。

如何在不下载临时文件的情况下做到这一点?

我正在使用python 3.8。

标签: pythonftppython-imaging-library

解决方案


在@MauriceMeyer 之后,我做了以下工作。

from PIL import Image
from io import BytesIO
from ftplib import FTP
ftp = FTP("myftp.com")
ftp.login("me", "mypwd")
flo = BytesIO()
ftp.retrbinary('RETR dir/myimage.bmp', flo.write)
flo.seek(0)
img = Image.open(flo)

推荐阅读