single-quoted string conversion to triple-quoted string
Bengt Richter
bokr at oz.net
Sat Apr 6 22:18:58 EST 2002
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