Is there any way to make repr(aString) use double quotes?
François Pinard
pinard at iro.umontreal.ca
Sat Apr 12 08:51:52 EDT 2003
[Jeremy Fincher]
> Francois Pinard <pinard at iro.umontreal.ca> wrote in message news:<mailman.1049836294.24621.python-list at python.org>...
> > # Python delimits a string it by single quotes preferably, unless
> > # single quotes appear within the string while double quotes do
> > # not, in which case it uses double quotes for string delimiters.
> > # Checking the string contents, the C code stops at the first NUL.
> > # We prefix the string with a single quote and a NUL, this forces
> > # double quotes as delimiters for the whole prefixed string. Then,
> > # we get rid of the representation of the single quote and the NUL.
> >
> > write('"' + repr("'\0" + value)[6:])
> Ah, perfect! Thanks :)
You are welcome, of course. But this may not be perfect! :-) We are relying
here on an undocumented behaviour of Python, and there is no reasonable[1]
guarantee that some later version of Python will not break the above code.
So in practice, it is only usable as a short or medium term kludge, that you
should be prepared to _happily_ revise if the need ever arises.
--------------------
[1] What means "reasonable"? It is a difficult concept. To illustrate it a
tiny bit, consider the timely finalisation of Python objects. This is a
somewhat undocumented behaviour for which we have reasonable guarantee that
it will never change (in the official, standard Python).
--
François Pinard http://www.iro.umontreal.ca/~pinard
More information about the Python-list
mailing list