View Full Version : [Python]
GidanTKA
27-07-2008, 22:15
Salve, io ho scritto questo pezzo di codice:
import os
try:
os.remove('C:\Documents and Settings\Administrator\Desktop\mimmo.txt')
mettiamo il caso che mimmo.txt non esista, il programma va in errore, io voglio gestire l'eccezione in modo che il programma continui a girare senza dire nulla anche se il file non esiste, come posso fare??
khelidan1980
27-07-2008, 22:26
non conosco python ma a intuito ci sarà una clausola catch.....
GidanTKA
27-07-2008, 22:31
non conosco python ma a intuito ci sarà una clausola catch.....
0_o
khelidan1980
27-07-2008, 22:45
0_o
la parola che ti serve per intercettare le eccezioni except,al posto di rispondere con quelle faccine idiote potevi elaborare la mia risposta ed arrivarci
RaouL_BennetH
27-07-2008, 22:55
In Python l'equivalente della keyword catch è 'except'
import os
try:
os.remove('C:\Documents and Settings\Administrator\Desktop\mimmo.txt')
except IOError:
gestisci l'eccezione
GidanTKA
27-07-2008, 22:55
la parola che ti serve per intercettare le eccezioni except,al posto di rispondere con quelle faccine idiote potevi elaborare la mia risposta ed arrivarci
che ci si arrivi con except lo so benissimo, ci si può arrivare anche con raise, il problema è che se lo faccio in quel modo il programma si blocca comunque anche se non crasha, io invece voglio che continui a girare e non si soffermi sul fatto se quel file esiste realmente o no
cdimauro
28-07-2008, 03:08
Con la soluzione di RaouL_BennetH il programma non si blocca.
Comunque occhio a quella stringa perché ci sono i caratteri \ che sono di escape, per cui se vuoi includerli devi utilizzare la definizione "raw" delle stringhe:
os.remove(r'C:\Documents and Settings\Administrator\Desktop\mimmo.txt')
cdimauro
28-07-2008, 03:09
EDIT: HWU impazzito stamattina.
cdimauro
28-07-2008, 03:10
EDIT: HWU impazzito stamattina.
cdimauro
28-07-2008, 03:10
EDIT: HWU impazzito stamattina.
cdimauro
28-07-2008, 03:17
EDIT: HWU impazzito stamattina.
GidanTKA
28-07-2008, 12:17
Con la soluzione di RaouL_BennetH il programma non si blocca.
Comunque occhio a quella stringa perché ci sono i caratteri \ che sono di escape, per cui se vuoi includerli devi utilizzare la definizione "raw" delle stringhe:
os.remove(r'C:\Documents and Settings\Administrator\Desktop\mimmo.txt')
Ok! Vi rngrazio ora ho risolto lo script serio è questo:
def del_file():
import os
try:
os.remove(r'C:\Documents and Settings\Administrator\Desktop\mimmo.txt')
except:
None
del_file()
cdimauro
28-07-2008, 12:40
Solo un suggerimento: gli import mettili all'inizio del file, e non dentro la funzione.
In questo modo non viene eseguita l'esecuzione di import ogni volta che viene invocata la funzione. ;)
Solo un suggerimento: gli import mettili all'inizio del file, e non dentro la funzione.
In questo modo non viene eseguita l'esecuzione di import ogni volta che viene invocata la funzione. ;)
Piccolo OT...una volta caricato per la prima volta un modulo, gli import successivi non non hanno effetto vero?
Ovviamente è sbagliato importare così :D
cdimauro
28-07-2008, 14:24
Sì, non hanno effetto, perché il sistema prima controlla se il modulo è già stato scaricato. In buona sostanza: è soltanto una perdita di tempo.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.