Ste*_*ini 8 python import md5 backwards-compatibility hashlib
python 2.6报告md5模块已过时,应使用hashlib.如果我import md5改为import hashlib我将解决python 2.5和python 2.6,但不适用于python 2.4,它没有hashlib模块(导致ImportError,我可以捕获).
现在,要修复它,我可以执行try/catch,并定义一个getMd5()函数,以便根据try块的结果定义一个合适的函数.这个解决方案好吗?
你会如何在一个更一般的情况下解决这个问题,例如:你有两个不同的库具有相同的目标但不同的界面,你想要使用一个,但如果第一个没有,则退回并使用另一个找到.
Tri*_*ych 18
一般来说,下面的结构很好:
try:
import module
except ImportError:
# Do something else.
Run Code Online (Sandbox Code Playgroud)
在您的特定情况下,也许:
try:
from hashlib import md5
except ImportError:
from md5 import md5
Run Code Online (Sandbox Code Playgroud)