python 2.6报告md5模块已经过时,应该使用hashlib。如果我将import md5
更改为import hashlib
,我将为python 2.5和python2.6解决问题,但不会为没有hashlib模块的python2.4解决问题(这会导致一个ImportError,我可以捕获它)。
现在,为了解决这个问题,我可以做一个try/catch,并定义一个getMd5()函数,以便根据try块的结果定义一个合适的函数。这个办法行吗?
如何在更一般的情况下解决这个问题,例如:您有两个目标相同但接口不同的不同库,您希望使用其中一个库,但如果找不到第一个库,请返回并使用另一个库。
一般来说,以下构造是很好的:
在你的特殊情况下,也许:
在模块具有与此处相同接口的情况下,您描述的解决方案是正确的。您还可以将导入隔离到自己的模块中,如下所示:
在它们有不同接口的情况下,您需要编写一个适配器来按照您指定的方式对齐接口。
相关问题 更多 >
编程相关推荐