Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

il file non viene aperto

AndreaTasselli (5100 points)
4 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

618 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)
4 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)
4 6 11
by (5.1k points)
provato anche con "rb" mode e latin ma niente
andrea.sterbini (207920 points)
749 1267 2373
by (208k points)
Quale file?       .
p
paper (1310 points)
4 6 8
by (1.3k 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)
4 6 11
by (5.1k points)
ho preso come esempio example.txt
andrea.sterbini (207920 points)
749 1267 2373
by (208k 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)
4 6 11
by (5.1k points)
Sono su Mac-OS, comunque ho risolto usando il file program01 inglese invece di quello italiano
andrea.sterbini (207920 points)
749 1267 2373
by (208k 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 (207920 points)
749 1267 2373
by (208k 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 -*-