On Mon, 20 Dec 2004 18:58:09 -0600, Doug Holton <[EMAIL PROTECTED]> wrote:
>> Jim Hill wrote: >> >>> Is there a way to produce a very long multiline string of output with >>> variables' values inserted without having to resort to this wacky >>> >>> """v = %s"""%(variable) > >No, it is currently not possible in Python without the hacks you have >seen already. Python is long overdue for simpler string interpolation >as seen in many other scripting languages. > >You should add a feature request to have this in Python 3.0, a.k.a. >Python 3000: http://www.python.org/cgi-bin/moinmoin/Python3.0 > >Then you could simple do something like: > >variable1 = 1 >variable2 = 2 > >s = """ > v = ${variable1} > v2's value is: ${variable2} >""" > >However, Python 3.0 is likely years away. If you want to know how to >run code like this today, consult Fredrik Lundh. Or replace ${...} with equally simple %(...)s in the above and be happy ;-) >>> variable1 = 1 >>> variable2 = 2 >>> >>> s = """ ... v = ${variable1} ... v2's value is: ${variable2} ... """ >>> print s.replace('${','%(').replace('}',')s') % locals() v = 1 v2's value is: 2 Better would be to write it with %(...)s in the first place though, or you may need regex help for correct conversion (if involve other uses for the ${} chars). Regards, Bengt Richter -- http://mail.python.org/mailman/listinfo/python-list