Chase Cromwell
Tengo un archivo python con la biblioteca Pillow importada. Puedo abrir una imagen con
Image.open(test.png)
Pero, ¿cómo cierro esa imagen? No estoy usando Pillow para editar la imagen, solo para mostrar la imagen y permitir que el usuario elija guardarla o eliminarla.
morgan thrapp
Con Image.close()
También puedes hacerlo en un with
bloquear:
with Image.open('test.png') as test_image:
do_things(test_image)
Un ejemplo de uso Image.close()
:
test = Image.open('test.png')
test.close()
-
Yo siempre uso la segunda opción. Los administradores de contexto son realmente agradables.
– Brobin
31 de julio de 2015 a las 17:03
-
@Brobin Oh, sí, con bloques es el camino a seguir. Y también una de las cosas que más extraño cuando tengo que usar otro idioma.
-Morgan Thrapp
31 de julio de 2015 a las 17:04
-
Usando “con” obtengo un “AttributeError: salida“Error con PIL 1.1.7, ¿qué versión usas?
– Chris
3 de agosto de 2017 a las 13:36
-
Sé que esta es una publicación muy antigua, pero en mi Mac .close() no hace nada. El archivo se abre en la vista previa y permanece abierto después de llamar a .close().
– Difío
1 de junio de 2022 a las 10:48
Si crea un objeto PIL, verá que no hay un método de cierre.
from PIL import Image
img=Image.open("image.jpg")
dir(img)
['_Image__transformer', '_PngImageFile__idat', '__doc__', '__getattr__', '__init__', '__module__', '__repr__', '_copy', '_dump', '_expand', '_makeself', '_new', '_open', 'category', 'convert', 'copy', 'crop', 'decoderconfig', 'decodermaxblock', 'draft', 'filename', 'filter', 'format', 'format_description', 'fp', 'frombytes', 'fromstring', 'getbands', 'getbbox', 'getcolors', 'getdata', 'getextrema', 'getim', 'getpalette', 'getpixel', 'getprojection', 'histogram', 'im', 'info', 'load', 'load_end', 'load_prepare', 'load_read', 'map', 'mode', 'offset', 'palette', 'paste', 'png', 'point', 'putalpha', 'putdata', 'putpalette', 'putpixel', 'quantize', 'readonly', 'resize', 'rotate', 'save', 'seek', 'show', 'size', 'split', 'tell', 'text', 'thumbnail', 'tile', 'tobitmap', 'tobytes', 'tostring', 'transform', 'transpose', 'verify']
-
Sin embargo, hay, echa un vistazo a la documentos. No estoy seguro de por qué no aparece en el directorio del objeto, pero definitivamente existe.
-Morgan Thrapp
7 julio 2016 a las 13:00
-
A My Pillow (versión 2.3.0) también parece faltarle el método de cierre.
–Roger Huang
25 de julio de 2016 a las 3:42
-
Estoy usando pkg_resources para comprobar su versión: >>> pkg_resources.get_distribution(‘Pillow’).version ‘2.3.0’
–Roger Huang
25 de julio de 2016 a las 3:42
-
En mi caso, también estaba usando PGMagick, así que asegúrese de no confundir los dos paquetes si está convirtiendo a PDF.
– dev-jeff
27 oct 2020 a las 16:39