(original) (raw)

On 17 February 2012 04:55, Antoine Pitrou <solipsis@pitrou.net> wrote:
But then you're going from a cumbersome situation (where you have to
import cElementTree and then fallback on regular ElementTree) to an
even more cumbersome one (where you have to first check the Python
version, then conditionally import cElementTree, then fallback on
regular ElementTree).

Well, you can reverse the import so you're not relying on version numbers:

import xml.etree.ElementTree as ElementTree

try:
import xml.etree.cElementTree as ElementTree
except ImportError:
pass

There is a slight cost compared to previously (always importing the python version) and you'll still be using cElementTree directly until it's removed, but if/when it is removed you won't notice it.

Tim Delaney