Sto provando a prendere un file immagine, a fare alcune cose e salvare le modifiche al file originale. Il problema che sto avendo è quello di sovrascrivere l'immagine originale; non sembra essere un modo affidabile per rilasciare l'handle su filename
.Come chiudere un'immagine?
Ho bisogno di questo contenuto per essere salvato nello stesso file perché i processi esterni dipendono da quel nome di file per rimanere lo stesso.
def do_post_processing(filename):
image = Image.open(str(filename))
try:
new_image = optimalimage.trim(image)
except ValueError as ex:
# The image is a blank placeholder image.
new_image = image.copy()
new_image = optimalimage.rescale(new_image)
new_image.save('tmp.tif')
del image
os.remove(str(filename))
os.rename('tmp.tif', str(filename))
del image
stava lavorando fino a quando ho aggiunto il gestore di eccezioni in cui ho fatto una copia dell'immagine. Ho anche provato ad accedere ad un attributo close()
di Image e with image
, senza successo.
Così vicino avrei dovuto essere in grado di annusarlo. – Chris