Need suggestion to speed up code...
Alex Martelli
aleaxit at yahoo.com
Fri May 11 05:00:20 EDT 2001
"Emile van Sebille" <emile at fenx.com> wrote in message
news:9dfjfk$ii9bk$1 at ID-11957.news.dfncis.de...
> Except for the embedded tics ('), you could eval the string to get a tuple
> of values, and perhaps some appropriate pre/post processing would take
care
> of those.
Right, and the simplest preprocessing would be to change "''" into r"\'", I
believe -- so no post-processing is actually needed.
If the string being analyzed can contain backslashes, of course, things
DO become more interesting again:-). You MIGHT first replace '\\' with
'\\\\', then "''" with r"\'", I guess, but this is starting to get
rather complicated...
> >>> a = "(1, 'foo', 'bar', 34, 3.14159, 'an imbedded comma, this sting
has',
> 'this one isn''t so easy either')"
> >>> b = a.replace("''","`")
If here you did:
b = a.replace("''", r"\'")
> >>> eval(b)
> (1, 'foo', 'bar', 34, 3.1415899999999999, 'an imbedded comma, this sting
> has', 'this one isn`t so easy either')
then the last item of the eval should have a ' rather than a `, as desired.
Alex
More information about the Python-list
mailing list