Python preprosessor
Tuomas Vesterinen
tuomas.vesterinen at iki.fi
Mon Jun 8 08:11:58 EDT 2009
Roger Binns wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Tuomas Vesterinen wrote:
>> I am intensively using 2to3.py. So I have 2 codebase: one in py2 and the
>> other in py3.
>
> The expectation would be that you only maintain the py2 code and
> automatically generate the py3 code on demand using 2to3.
>
> It is possible to have the same code run under both versions, but not
> recommended. As an example I do this for the APSW test suite, mostly
> because the test code deliberately explores various corner cases that
> 2to3 could not convert (nor should it try!). Here is how I do the whole
> Unicode thing:
>
> if py3: # defined earlier
> UPREFIX=""
> else:
> UPREFIX="u"
>
> def u(x): # use with raw strings
> return eval(UPREFIX+"'''"+x+"'''")
>
> # Example of use
> u(r"\N${BLACK STAR}\u234")
>
> You can pull similar stunts for bytes (I use buffers in py2), long ints
> (needing L suffix in some py2 versions), the next() builtin from py3,
> exec syntax differences etc. You can see more details in the first 120
> lines of http://code.google.com/p/apsw/source/browse/apsw/trunk/tests.py
>
> Roger
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
>
> iEYEARECAAYFAkosTxEACgkQmOOfHg372QS4rQCgl1ymNME2kdHTBUoc7/f2e+W6
> cbMAmwf7mArr7hVA8k/US53JE59ChnIt
> =pQ92
> -----END PGP SIGNATURE-----
>
You have interesting solutions.
TV
More information about the Python-list
mailing list