Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2021-22 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2021-22 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

VIDEOLEZIONI DEL CORSO DI FONDAMENTI DI PROGRAMMAZIONE AA20-21

PROGRAMMING COURSE VIDEOCONFERENCES AY20-21

il file non viene aperto

AndreaTasselli (5100 points)
3 6 11
in HW6 by (5.1k points)

Ho appena iniziato a scrivere il codice del HW6 ma quando provo ad aprire il file e leggere le righe mi da questo errore.


  File "/Users/Andrea/opt/anaconda3/lib/python3.8/codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc3 in position 27: invalid continuation byte

345 views
closed

4 Answers

Best answer
M
Mordekai (650 points)
0 0 2
by (650 points)
selected by
Da anche a me lo stesso errore, anche se l'unica istruzione è print('ok').

È un problema solo del file in italiano, conviene operare su quello in inglese che non presenta l'errore.
.
.Alex. (890 points)
0 0 8
by (890 points)

Controlla se hai selezionato il file con estensione .txt e non quello con stesso nome, ma estensione .png.
Può essere questo un caso in cui avviene l'UnicodeDecodeError.

AndreaTasselli (5100 points)
3 6 11
by (5.1k points)
Ho selezionato tutti i file in input giusti ma la situazione non cambia
.
.Alex. (890 points)
0 0 8
by (890 points)

Prova a dare un'occhiata al modulo chardet:

https://pypi.org/project/chardet/

Se il problema è nella codifica di qualche carattere, in questo modo dovrebbe essere evidenziato il giusto encoding da scegliere.

Wahya (7760 points)
1 2 15
by (7.8k points)

E' un errore dell'encoding in utf-8, a quanto pare non riesce a riconoscere quel determinato byte.

Ho trovato questo su stackoverflow :

"If this error arises when manipulating a file that was just opened, check to see if you opened it in 'rb' mode."

Leggi questo, magari può esserti utile --> https://stackoverflow.com/questions/5552555/unicodedecodeerror-invalid-continuation-byte

AndreaTasselli (5100 points)
3 6 11
by (5.1k points)
provato anche con "rb" mode e latin ma niente
andrea.sterbini (173640 points)
516 941 1795
by (174k points)
Quale file?       .
p
paper (660 points)
3 6 7
by (660 points)
Anche io ho lo stesso problema e me lo fa con tutti i file .txt nella cartella matrices. Però se scrivo direttamente tutto il codice per leggere il file nella console, me lo legge senza problemi. (Sono su Mac OS, non so se potrebbe influire)
AndreaTasselli (5100 points)
3 6 11
by (5.1k points)
ho preso come esempio example.txt
andrea.sterbini (173640 points)
516 941 1795
by (174k points)
Se apro il file 'matrices/example.txt' con mode='r' e encoding='utf8' lo leggo completamente senza alcun errore
Tu come fai?

Sei in windows? stai usando l'encoding utf8?
AndreaTasselli (5100 points)
3 6 11
by (5.1k points)
Sono su Mac-OS, comunque ho risolto usando il file program01 inglese invece di quello italiano
andrea.sterbini (173640 points)
516 941 1795
by (174k points)
Ho veramente delle grosse difficoltà a capire come mai il file in italiano e quello in inglese fanno cose diverse.

Soprattutto quando uno usa utf8 come encoding nella open('file.txt', encoding='utf8') e tenuto conto ch entrambi all'inizio dichiarano di usare encoding utf-8

Mi manderesti per email il codice che ti da problemi? Grazie
andrea.sterbini (173640 points)
516 941 1795
by (174k points)
edited by

Si è finalmente capito che il problema NON è nei file dei rettangoli ma nel file program01.ita.py che ha un carattere strambo nella descrizione.

Avete provato ad aggiungere in testa la riga

# -*- coding: utf-8 -*-