Convert StringIO to string

Jonathan Bowlas me at
Mon Oct 16 17:52:21 CEST 2006

Your suggestion didn't seem to make any difference at all, it still returns

<script type="text/javascript">
new rss_ticker(gdfgdfg, True, True)

Any other ideas?


-----Original Message-----
From: at
[ at] On Behalf Of Rob
Sent: 16 October 2006 14:37
To: python-list at
Subject: Re: Convert StringIO to string

Jonathan Bowlas wrote in
news:mailman.562.1161001625.11739.python-list at in

> Hi listers,
> I've written this little script to generate some html but I cannot get 
> it to convert to a string so I can perform a replace() on the >, 
> < characters that get returned.
> from StringIO import StringIO
> def generator_file(rsspath,titleintro,tickeropt): 
>      scripter=StringIO()
>      scripter.write('<script type="text/javascript">\n')
>      scripter.write('new rss_ticker(%s, %s, %s)\n' % (rsspath, 
> titleintro, tickeropt))
>      scripter.write('</script>\n')
>      return scripter.getvalue()
> I tried adding this:
> scripter = scripter.replace("&lt;", "<") scripter = 
> scripter.replace("&gt;", ">")
> But obviously replace() isn't an attribute of StringIO so I guess I 
> need to convert it to a string first, can someone please advise how I 
> can do this?

How strange, you are already "converting" to a string in the return line
(the call to the getvalue() method), so:

    	scripter = scripter.getvalue().replace("&lt;", "<")
    	scripter = scripter.replace("&gt;", ">")
    	return scripter

should do what you want.


More information about the Python-list mailing list