single-quoted string conversion to triple-quoted string
robin and jim
robinjim at earthlink.net
Sun Apr 7 08:57:23 EDT 2002
You understood exactly what I was hoping for.
Thanks for your posting.
"Bengt Richter" <bokr at oz.net> wrote in message
news:a8odr2$rdh$0 at 216.39.172.122...
> On Sat, 06 Apr 2002 01:45:32 GMT, "Emile van Sebille" <emile at fenx.com>
wrote:
>
> >"robin and jim" <robinjim at earthlink.net>
> >> Is there a way to convert a single quoted string to a triple quoted
> >string?
> >>
> >> For example, given:
> >>
> >> ''' abc %d xyz '''
> >>
> >> the result of ''' abc %d xyz''' % 10 is:
> >>
> >> ' abc 10 xyz '
> >>
> >> which is a single quoted string.
> >>
> >> I would like to convert the result to a triple-quoted string.
> >>
> >>
> >
> >What do you want to do with it? Once a string is created, it doesn't
> >matter which style quoting was used -- it's simply a string.
> >
> True, but notice:
>
> >>> """ ' """
> " ' "
> >>> """ " """
> ' " '
> >>> """ ' " """
> ' \' " '
> >>>
>
> perhaps he would have liked """ ' " """ back instead of ' \' " '
> Seems like just as valid as switching the other quotes, e.g., a quick hack
> to simulate extending the quote-choosing of repr:
>
> >>> def repr3(x):
> ... rep = repr(x)
> ... if rep.find('\\n')<0 and rep[1:-1].find("\\'")<0: return rep
> ... rep=rep[1:-1].replace('\\n','\n')
> ... rep=rep.replace("\\'","'")
> ... return '"""' + rep + '"""'
> ...
> >>> tests = [""" ' """, """ " """, """ ' " """, """Line 1
> ... Line 2"""]
> >>> for t in tests: print 'plain: %s\n repr: %s\nrepr3: %s\n'% (t,
repr(t), repr3(t))
> ...
> plain: '
> repr: " ' "
> repr3: " ' "
>
> plain: "
> repr: ' " '
> repr3: ' " '
>
> plain: ' "
> repr: ' \' " '
> repr3: """ ' " """
>
> plain: Line 1
> Line 2
> repr: 'Line 1\nLine 2'
> repr3: """Line 1
> Line 2"""
>
> Regards,
> Bengt Richter
>
More information about the Python-list
mailing list