[Python-3000] print() parameters in py3k
Jim Jewett
jimjjewett at gmail.com
Mon Nov 20 21:57:25 CET 2006
On 11/20/06, Barry Warsaw <barry at python.org> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On Nov 20, 2006, at 12:14 PM, Josiah Carlson wrote:
>
> > How much print statement rewriting do you want to do? Me, I'd like to
> > get away with as little as possible. Adding parenthesis isn't that
> > bad.
> > Changing everything to use a printf-style would be 1) annoying, 2)
> > unnecessary, and 3) I hate printf.
> Are we going to include a flawless transformation script for Python
> 3k? If not, then I'm pretty much resigned to rewriting them by hand
> anyway.
Assuming no further changes to PEP 3105, then it should be possible,
at least for the print statement.
Just parse the thing into statements; when you get to a print
statement make the string replacement before writing it back out.
The "print" literal translates into "print(" ... ")"
">>" file_expression moves to the end and translates into
"file="file_expression
the printable_expression stays the same
a trailing comma translates into "end=''" (an empty string)
(legacy code never uses the sep keyword)
-jJ
More information about the Python-3000
mailing list