AttributeError: 'array.array' object has no attribute 'tostring' di images lib

Tommaso.Lopedote (1340 points)
3 9 24
asked Jan 25 in Programmare in Python by Tommaso.Lopedote (1,340 points)

Oggi lavorando con gli esercizi di esame relativi alla elaborazione di immagini mi sono scontrato molteplici volte con l'errore riportato in titolo:

inizialmente ho sospettato che fosse un problema della matrice, come per esempio: una riga con un valore di troppo oppure i tipi dei dati forniti errati, ma scrivendo l'immagine su un file .txt per verificare il nummero di colonne e di righe ma anche il tipo dei dati,  tutto sembra risulta corretto, cioè ogni riga ha la stessa lunghezza, tutti i valori nelle righe sono tuple, la matrice è in forma: list[ list [ tuple() ] ].

Vi lascio lo StackTrace per sicurezza:

Traceback (most recent call last):
  File "C:\Users\trast\Desktop\Università\Esercizi_py\esercitazione-23-12-2020\program.py", line 221, in <module>
    ex2(P1,"sei.png")
  File "C:\Users\trast\Desktop\Università\Esercizi_py\esercitazione-23-12-2020\program.py", line 143, in ex2
    images.save(matrix, fname)
  File "C:\Users\trast\Desktop\Università\Esercizi_py\esercitazione-23-12-2020\images.py", line 30, in save
    pngimg.save(filename)
  File "C:\Users\trast\Desktop\Università\Esercizi_py\esercitazione-23-12-2020\png.py", line 1279, in save
    w.write(file, self.rows)
  File "C:\Users\trast\Desktop\Università\Esercizi_py\esercitazione-23-12-2020\png.py", line 620, in write
    nrows = self.write_passes(outfile, rows)
  File "C:\Users\trast\Desktop\Università\Esercizi_py\esercitazione-23-12-2020\png.py", line 789, in write_passes
    compressed = compressor.compress(tostring(data))
  File "C:\Users\trast\Desktop\Università\Esercizi_py\esercitazione-23-12-2020\png.py", line 197, in tostring
    return row.tostring()
AttributeError: 'array.array' object has no attribute 'tostring'

1 Answer

Best answer
andrea.sterbini (172780 points)
513 935 1789
answered Jan 25 by andrea.sterbini (172,780 points)
selected Jan 26 by Tommaso.Lopedote
Hai una versione non patchata di png.py
Tommaso.Lopedote (1340 points)
3 9 24
commented Jan 26 by Tommaso.Lopedote (1,340 points)
Ho inserito la versione di png.py piu' recente che avevo e ora effettivamente funziona correttamente. Grazie prof.