injecting "set" into 2.3's builtins?
Stephen Thorne
stephen.thorne at gmail.com
Thu Mar 10 23:43:44 EST 2005
On Wed, 9 Mar 2005 19:49:36 -0600, Skip Montanaro <skip at pobox.com> wrote:
>
> 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.
I have:
try:
set
except NameError:
from sets import Set as set
in my code in a few places. Its not any worse than:
try:
True,False
except NameError:
True, False = 1==1,1==0
which is in quite a bit of python2.2 code.
--
Stephen Thorne
Development Engineer, NetBoxBlue.com
More information about the Python-list
mailing list