Questo sito utilizza cookie per le proprie funzionalità e per inviarti pubblicità e servizi in linea con le tue preferenze. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie.

Accedendo al link http://www.odoo-italia.org/index.php/home/cookie-policy puoi leggere in dettaglio le modalità di trattamento dei cookie da parte dell'Associazione Odoo Italia.

Benvenuto, Ospite
Nome utente: Password: Ricordami
  • Pagina:
  • 1
  • 2

ARGOMENTO: Quiz per sviluppatori

Quiz per sviluppatori 4 Mesi 1 Giorno fa #31735

  • Antoniov
  • Avatar di Antoniov
  • Online
  • Administrator
  • Messaggi: 1555
  • Ringraziamenti ricevuti 283
  • Karma: -115
Chi sa dire quale errore nasconde il seguente semplice pezzo di codice?
try:
    fd = open('myfile', 'r')
    # Fai qualcosa, ad esempio leggi il contenuto
    # NB Non importante ai fini del test
    testo = fd.read()
    fd.close()
except:
    print 'File non trovato!'

Note:
- Il codice è un esempio per python2 ma il quiz è valido anche per python3
- L'istruzione testo = fd.read() non è significativa ai fini del test
- L'istruzione print non è significativa, potrebbe essere qualsiasi azione di recupero, compreso l'istruzione pass
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo. - Presidente eletto dell'associazione
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Quiz per sviluppatori 4 Mesi 1 Giorno fa #31737

  • enlightx
  • Avatar di enlightx
  • Online
  • Platinum Boarder
  • Messaggi: 6064
  • Ringraziamenti ricevuti 638
  • Karma: 85
Quando si manipolano i files si usa with invece di try/except.
Non sono un esperto, ma credo che try/except non funzioni con le eccezioni di IO
Davide Corio
Odoo Solution Architect
email: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
web: www.davidecorio.com
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Quiz per sviluppatori 4 Mesi 1 Giorno fa #31743

  • Antoniov
  • Avatar di Antoniov
  • Online
  • Administrator
  • Messaggi: 1555
  • Ringraziamenti ricevuti 283
  • Karma: -115
enlightx ha scritto:
Quando si manipolano i files si usa with invece di try/except.
Non sono un esperto, ma credo che try/except non funzioni con le eccezioni di IO

Hai perfettamente ragione quando dici che è meglio usare with al posto di try/except ma non è lo scopo di questo test.

Piccola annotazione: try/except funziona con tutte le eccezioni come qualsiasi istruzione python.
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo. - Presidente eletto dell'associazione
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Quiz per sviluppatori 4 Mesi 1 Giorno fa #31745

  • gigidn
  • Avatar di gigidn
  • Offline
  • Platinum Boarder
  • Messaggi: 1925
  • Ringraziamenti ricevuti 446
  • Karma: 22
enlightx ha scritto:
Quando si manipolano i files si usa with invece di try/except.
Non sono un esperto, ma credo che try/except non funzioni con le eccezioni di IO

Funziona ... ma devi gestire il tutto, ecco dove sta l'insidia di quel codice, la with esonera lo sviluppatore a gestire tutto a mano ...

Quel codice è sbagliato perche' la close va messa in finally altrimenti in caso di eccezione il file resta aperto
Quel codice è sbagliato perche' carica tutto in memoria .... devi solo sperare il il file non sia di diversi GB :D

.....

Quel codice è sbagliato :D punto
@KTec
www.ktec.it
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Quiz per sviluppatori 4 Mesi 1 Giorno fa #31753

  • Antoniov
  • Avatar di Antoniov
  • Online
  • Administrator
  • Messaggi: 1555
  • Ringraziamenti ricevuti 283
  • Karma: -115
gigidn ha scritto:
Funziona ... ma devi gestire il tutto, ecco dove sta l'insidia di quel codice, la with esonera lo sviluppatore a gestire tutto a mano ...
Ho già risposto a enlightx: avete ragione ma non è lo scopo di questo piccolo test.
Quel codice è sbagliato perche' la close va messa in finally altrimenti in caso di eccezione il file resta aperto
Ottimo, non era lo scopo del test ma hai rilevato un errore nel codice.
Bravo Gigidn
Quel codice è sbagliato perche' carica tutto in memoria .... devi solo sperare il il file non sia di diversi GB :D

Quel codice è sbagliato :D punto
Ho scritto che quella istruzione è solo un esempio per riempire la riga. Non è oggetto del test.
L'ho inserito anche nel commento perchè è chiaro che caricare in RAM può essere deleterio ma a volte, per piccoli file è molto utile.
Quindi non è un errore a prescindere.
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo. - Presidente eletto dell'associazione
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Quiz per sviluppatori 4 Mesi 15 Ore fa #31763

  • gigidn
  • Avatar di gigidn
  • Offline
  • Platinum Boarder
  • Messaggi: 1925
  • Ringraziamenti ricevuti 446
  • Karma: 22
Bhu mica ho capito :D

cmq caricare in blocchi e' sempre utile al di la di usare la memoria o meno, presupporre e' una cosa esserne certi e' altra.

Per un cliente con un piccolo script python (ovviamente anche se uso anche golang) creo delle tumb per file che i loro clienti inviano via ftp ... ebbene mi chiamano perche' si era bloccato ..... morale un file (normalmente non superano 50mb e di media son qualche mega) da 4gb (come abbiano creato tale mostro non si capisca) causa un sigterm di pil e python esce brutalmente ... try/except non la caga .....

Morale, sui file meglio pensar sempre al peggio :D

Esistono anche altri errori in quel codice, in altre parole tutto cio' che si poteva sbagliare in quel codice e' stato fatto e per esser solo poche righe e' da guinness dei primati.

EDIT:
sinceramente non capisco a cosa ti riferisci, visto l'orario e la mia mente labile prendila con le molle ma la except non nominale andrebbe evitata (su py3 credo non si possa piu' fare) e non so certo che prenda la IO ... a memoria la except non nominale dovrebbe essere equivalente ad Exception quindi ignorare Errors ... e se IO eredita da quest'ultima non la prende ...

BHU come detto mi sfugge lo scopo di questo test.
@KTec
www.ktec.it
Ultima modifica: 4 Mesi 14 Ore fa da gigidn.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
  • Pagina:
  • 1
  • 2
Tempo creazione pagina: 0.144 secondi

Odoo Italia Associazione - C.F: 94200470485 - Sede: Viale dei Cadorna, 83 - Firenze - Italy

Protected by R Antispam