python 2.6 meldet, dass das Modul md5 veraltet ist und hashlib verwendet werden sollte. Wenn ich import md5
zu import hashlib
ändere, werde ich nach python 2.5 und python 2.6 suchen, aber nicht nach python 2.4, das kein hashlib-Modul hat (was zu einem ImportError führt, den ich fangen kann).
Um es zu beheben, könnte ich nun versuchen / fangen und eine getMd5 () - Funktion definieren, so dass eine richtige entsprechend dem Ergebnis des try-Blocks definiert wird. Ist diese Lösung in Ordnung?
Wie würden Sie dieses Problem in einem allgemeineren Fall lösen, wie zum Beispiel: Sie haben zwei verschiedene Bibliotheken mit demselben Ziel, aber unterschiedlicher Schnittstelle, und Sie möchten eine verwenden, aber greifen Sie zurück und verwenden Sie die andere, wenn die erste man wird nicht gefunden.
Wenn die Module die gleiche Schnittstelle haben wie hier, ist die von Ihnen beschriebene Lösung in Ordnung. Sie könnten den Import auch so in ein eigenes Modul isolieren:
%Vor%Wenn sie unterschiedliche Schnittstellen haben, müssten Sie einen Adapter schreiben, um die Schnittstellen wie angegeben auszurichten.
Tags und Links python import md5 backwards-compatibility hashlib