Hoe lees ik afbeeldingsgegevens van een URL in Python?

| | | | | | |

Wat ik probeer te doen is vrij eenvoudig als we te maken hebben met een lokaal bestand, maar het probleem doet zich voor wanneer ik dit probeer te doen met een externe URL.

In principe ben ik Ik probeer een PIL-afbeeldingsobject te maken van een bestand dat van een URL is gehaald. Natuurlijk kan ik altijd de URL ophalen en opslaan in een tijdelijk bestand, en het vervolgens openen in een afbeeldingsobject, maar dat voelt erg inefficiënt.

Dit is wat ik heb:

Image.open(urlopen(url)) 

Het valt op door te klagen dat seek( ) is niet beschikbaar, dus toen probeerde ik dit:

Image.open(urlopen(url).read()) 

Maar ook dat werkte niet. Is er een betere manier om dit te doen, of is het schrijven naar een tijdelijk bestand de geaccepteerde manier om dit soort dingen te doen?