Variables y archivos de Python

¿Hay alguna forma que pueda hacer para tratar un archivo como una variable? Como ejemplo, cuando se llama a la función guardar desde el módulo de imagen PIL: Image.save("foo.jpg") me gustaría que todos los datos no se guarden en el disco duro, sino que se introduzcan en una variable a para que cuando a.read() Se llama a a.read() , debería devolver el contenido del archivo.

Puede usar la clase BytesIO para guardar una imagen PIL en un flujo de bytes.

 >>> from PIL import Image >>> im = Image.open('ball.png') >>> from io import BytesIO >>> buffer = BytesIO() >>> im.save(buffer, format='png') >>> buffer.getvalue() '\x89PNG\r\n\x1a\n\x00\ ... 

Probablemente valga la pena leer toda la página del módulo de io , es bastante breve, mucha información buena, contiene StringIO como señala ch3ka.

StringIO , eche un vistazo en el módulo StringIO . Proporciona una interfaz tipo archivo para cadenas.

http://docs.python.org/library/stringio.html

 StringIO - File-like objects that read from or write to a string buffer.