[Python-Dev] elementtree in stdlib

Georg Brandl g.brandl at gmx.net
Fri Apr 7 19:48:58 CEST 2006


Nick Coghlan wrote:
> Georg Brandl wrote:
>> Greg Ewing wrote:
>>> Trent Mick wrote:
>>>
>>>>     try:
>>>>         import xml.etree.ElementTree as ET # in python >=2.5
>>>>     except ImportError:
>>>  >        ... etc ad nauseam
>>>
>>> For situations like this I've thought it might
>>> be handy to be able to say
>>>
>>>    import xml.etree.ElementTree or cElementTree or \
>>>      elementtree.ElementTree or lxml.etree as ET
>> 
>> Suppose I wanted to implement that, what would be the best strategy
>> to follow:
>> - change handling of IMPORT_NAME and IMPORT_FROM in ceval.c
>> - emit different bytecodes in compile.c
>> - directly create TryExcept AST nodes in ast.c
> 
> Definitely option 3, since you only have to modify the parser and the AST 
> compiler.
> 
> To change it in compile.c, you have to first modify the parser, the AST 
> definition and the AST compiler in order to get the info to the bytecode compiler.
> 
> To change it in ceval.c, you have to first modify the parser, the AST 
> definition, the AST compiler and the bytecode compiler in order to get the 
> info to the eval loop.
> 
> Given that import statements aren't supposed to be in time critical code, go 
> for the easy option :)

Well, if there's an encouraging word from more developers, I can try it.

Georg



More information about the Python-Dev mailing list