[Python] Possible motivazione per errore file not found.
Luigi Russo
giginapoli87 a outlook.it
Mar 4 Ott 2022 08:10:35 CEST
Il 03/10/2022 23:56, Gabriele Battaglia ha scritto:
> Ciao.
> Chiedo venia per l'incredibile bruttezza di questa gestione errore.
> Qui il fatto è che, dando ad input il nome di un file che esiste,
> viene comunque richiamato il blocco except.
> Il semplice codice è questo:
>
> fn = input("The document has to be encoded in UTF-8\nfilename.ext to
> prepare? > ")
> try:
> f=open(fn, "rt",encoding="utf-8")
> rig = f.readlines()
> f.close()
> print(f"File: {fn} found, with {len(rig)} lines of text.")
> except:
> print(f"Sorry, file: {fn} not found.\nRelaunch the App and try
> with another filename.")
> sys.exit()
>
Gigi:
Ciao Gabriel,
il blocco except così come è scritto gestisce qualunque eccezione, per
cui non è detto che il problema sia il file che non è stato trovato.
Dovresti fare questo:
try:
f=open(fn, "rt",encoding="utf-8")
rig = f.readlines()
f.close()
print(f"File: {fn} found, with {len(rig)} lines of text.")
except FileNotFoundError:
print(f"Sorry, file: {fn} not found.\nRelaunch the App and try with
another filename.")
sys.exit()
Se il file non esiste ok, ma se però il problema è un altro ti viene
mostrato il traceback e quindi puoi capire perché c'è questo ulteriore
problema.
Ciao da Gigi
Maggiori informazioni sulla lista
Python