Eval and raw string ??

Paul McGuire ptmcg at austin.rr.com
Wed Aug 22 12:19:47 EDT 2007


On Aug 22, 11:06 am, Mark <cree... at gmail.com> wrote:
> Eval() doesn't seem to recognize the r'string' format. Is there a way
> around this.
> Example:
> If I input: ---------> eval("r'C:\tklll\ndfd\bll'")
> I get the output:
>
> Traceback (most recent call last):
>   File "<pyshell#3>", line 1, in <module>
>     eval("r'C:\tklll\ndfd\bll'")
>   File "<string>", line 1
>     r'C:        klll
>             ^
> SyntaxError: EOL while scanning single-quoted string
>
> The same principle applies for exec.
>
> Thanks in advance,
> Mark

This is not a raw string: "r'\tsomething in quotes'".  It is a string
starting with an "r", a "'", a tab, and and "s".

This is a raw string: r'\tsomething in quotes'.  It is a string
starting with a "\", a "t" and an "s".

Notice that the \t and \n in c:\tkllll\ndfd\bll were treated like tab
and newline?  Try eval(r'c:\tkllll\ndfd\bll')

(You will get a different error now, but it wont be a raw string
problem.)

-- Paul





More information about the Python-list mailing list