injecting "set" into 2.3's builtins?

Skip Montanaro skip at pobox.com
Wed Mar 9 20:49:36 EST 2005


I use sets a lot in my Python 2.3 code at work and have been using this
hideous import to make the future move to 2.4's set type transparent:

    try: 
        x = set 
    except NameError: 
        from sets import Set as set 
    else: 
        del x 

Of course, while it's transparent at one level (where sets are used) it's
not really transparent at another level (where the set object is defined).

I'm toying with the idea of adding this to the sitecustomize module at work:

    import sets 
    import __builtin__ 
    __builtin__.set = sets.Set 
    del sets, __builtin__ 

I'm wondering if others have tried it.  If so, did it cause any problems?
I've not noticed any incompatibilities between the 2.3 and 2.4 versions of
set objects, but my use of them has been pretty straightforward.

Thanks,

Skip




More information about the Python-list mailing list