Quoting quotes
Steven D'Aprano
steve at REMOVE-THIS-cybersource.com.au
Fri Feb 26 09:04:35 EST 2010
On Fri, 26 Feb 2010 13:29:04 +0100, candide wrote:
> But the first method doesn't run correctly :
>
>
>>>> print """The play "All's Well That Ends Well""""
> File "<stdin>", line 1
> print """The play "All's Well That Ends Well""""
> ^
> SyntaxError: EOL while scanning single-quoted string
>>>>
>>>>
>
> Any comment ?
Of course not. Quotes can't be nested, so the first time the parser hits
three quote marks, you have reached the end of the string. You then open
a new string with a single quote mark, and then fail to close it. Hence
the EOL while scanning a single-quoted string.
There are many solutions. Here are four:
>>> print """The play "All's Well That Ends Well\""""
The play "All's Well That Ends Well"
>>> print '''The play "All's Well That Ends Well"'''
The play "All's Well That Ends Well"
>>> print 'The play "All\'s Well That Ends Well"'
The play "All's Well That Ends Well"
>>> print 'The play "All' "'" 's Well That Ends Well"'
The play "All's Well That Ends Well"
--
Steven
More information about the Python-list
mailing list