Python 2.6 informuje, że moduł md5 jest przestarzały i należy użyć hashlib. Jeśli zmienię import md5
na import hashlib
rozwiążę dla Pythona 2.5 i Pythona 2.6, ale nie dla Pythona 2.4, który nie ma modułu hashlib (prowadzącego do ImportError, który mogę złapać).hashlib/md5. Kompatybilność z Pythonem 2.4
Teraz, aby to naprawić, mógłbym wykonać polecenie try/catch i zdefiniować funkcję getMd5() tak, aby zdefiniować właściwą zgodnie z wynikiem bloku try. Czy to rozwiązanie jest w porządku?
Jak rozwiązać ten problem w bardziej ogólnym przypadku, na przykład: masz dwie różne biblioteki o tym samym celu, ale o innym interfejsie, i chcesz go użyć, ale cofnij się i użyj drugiego, jeśli pierwszego nie znaleziono.
Należy zauważyć, że nagi "except" tutaj jest dość niebezpieczny, ponieważ ukryłby błędy w modułach, które zostały znalezione, ale wyrzucił wyjątki w źródle modułu. – Triptych
Dzięki, zakwalifikowałem to oświadczenie. – jkp