python 2.6 segnala che il modulo md5 è obsoleto e che deve essere usato l'hashlib. Se cambio import md5
in import hashlib
risolverò per python 2.5 e python 2.6, ma non per python 2.4, che non ha modulo hashlib (che porta ad un ImportError, che posso catturare).hashlib/md5. Compatibilità con Python 2.4
Ora, per risolverlo, potrei fare un try/catch e definire una funzione getMd5() in modo che venga definita una corretta in base al risultato del blocco try. Questa soluzione è ok?
Come risolveresti questo problema in un caso più generale, ad esempio: hai due librerie diverse con lo stesso obiettivo ma un'interfaccia diversa, e vuoi usarne una, ma ripiega e usa l'altra se la il primo non è stato trovato
Si noti che un'istruzione 'tranne except 'qui è piuttosto pericolosa, poiché nasconderebbe gli errori nei moduli trovati ma genererebbe eccezioni all'interno dell'origine del modulo. – Triptych
Grazie, ho qualificato la dichiarazione ora. – jkp