On 12/01/2010 12:16, Barry Warsaw wrote:
On Jan 11, 2010, at 09:57 PM, Steven Bethard wrote:

Actually there's a solution to this one too:

    FooBase = Meta('FooBase', (), {})
    class Foo(FooBase):
        ...

That should work in Python 2.X and 3.X.
Ugly, but good call! :)


There are all sorts of tricks. For example you can do exception handling that works with pre-2.6 syntax and 3.0 with a bare except and using sys.exc_info. It is horrible, but acceptable for short pieces of code (I have a couple of small modules that do this).

I haven't yet tried converting larger code-bases to Python 3, but I think the workflow advocated by Martin is greatly preferable to the hacks and tricks needed to make the same codebase run under 2 & 3.

Michael

I've got argparse running on Python 2.3-3.1, and the changes were
pretty easy. You can see them all in the revision here:

    http://code.google.com/p/argparse/source/detail?r=12

I have aspirations of putting all of the tricks I learned up up on the
Wiki somewhere, but I just haven't had the time.
The more resources we can provide people, both in code and in documentation,
the better.

Thanks!
-Barry

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/fuzzyman%40voidspace.org.uk


--
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/blog

READ CAREFULLY. By accepting and reading this email you agree, on behalf of your 
employer, to release me from all obligations and waivers arising from any and all 
NON-NEGOTIATED agreements, licenses, terms-of-service, shrinkwrap, clickwrap, browsewrap, 
confidentiality, non-disclosure, non-compete and acceptable use policies ("BOGUS 
AGREEMENTS") that I have entered into with your employer, its partners, licensors, 
agents and assigns, in perpetuity, without prejudice to my ongoing rights and privileges. 
You further represent that you have the authority to release me from any BOGUS AGREEMENTS 
on behalf of your employer.


_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to