python 2.6 сообщает, что модуль md5 устарел и используется hashlib. Если я изменю import md5
на import hashlib
, я буду решать для python 2.5 и python 2.6, но не для python 2.4, у которого нет модуля hashlib (приводящего к ImportError, который я могу поймать).hashlib/md5. Совместимость с python 2.4
Теперь, чтобы исправить это, я мог бы сделать try/catch и определить функцию getMd5(), чтобы определить правильный результат в соответствии с результатом блока try. Это решение нормально?
Как решить эту проблему в более общем случае, например: у вас есть две разные библиотеки с одной и той же целью, но с другим интерфейсом, и вы хотите использовать их, но отступать и использовать другое, если первый не найден.
Обратите внимание, что голый оператор 'except' здесь довольно опасен, поскольку он скрывает ошибки в найденных модулях, но исключает исключения в источнике модуля. – Triptych
Спасибо, я уже квалифицировал заявление. – jkp