私はtry
ステートメントを使用します。これはよく使われるイディオムです。また、sys
python3.3のバージョンが間違っています。
>>> if sys.version_info.major>=2 and sys.version_info.minor>=7:
... from unittest import TestCase
... else:
... from unittest2 import TestCase
...
Traceback (most recent call last):
File "<stdin>", line 4, in <module>
ImportError: No module named 'unittest2'
あるべきですが:
>>> import sys
>>> major, minor = sys.version_info.major, sys.version_info.minor
>>> if (major >= 2 and minor >= 7) or (major >= 3 and minor >= 2):
... from unittest import TestCase
... else:
... from unittest2 import TestCase
...
>>>
これは、try
バージョンがPythonのバージョン全体でより堅牢であることも示しています。
try
Cで記述されたモジュールの「高速化された」バージョンがある場合、ファイルの最後に次のように配置すると、バリアントをよく使用します。
try:
from _accelerated import *
except ImportError:
pass
Pythonの実装を加速されたもので上書きします。