exec statement Syntax Error on string pulled from MySQL

gregpinero at gmail.com gregpinero at gmail.com
Tue Apr 10 03:44:24 EDT 2007


It's the strangest thing,  I'm pulling some text out of a MySQL table
and trying to run exec on it, and it keeps giving me a syntax error,
always at the end of the first line.

Thanks in advance for any help.  I'm really stuck on this one!

-Greg

I'm not sure what information would be most useful but here's a start:

The last code I stored in the table and pulled out was simply:
print 'greg'
print 'greg2'

To which my error log says:
Traceback (most recent call last):
  File "/home/public/web/webapi.py", line 303, in wsgifunc
    result = func()
  File "/home/public/web/request.py", line 125, in <lambda>
    func = lambda: handle(inp, fvars)
  File "/home/public/web/request.py", line 61, in handle
    return tocall(*([urllib.unquote(x) for x in args] + fna))
  File "/home/public/EZsession.py", line 119, in proxyfunc
    return func(self, *args, **kw)
  File "/home/htdocs/code.py", line 94, in POST
    print utility.run(name,revision,inp)
  File "/home/public/utility.py", line 177, in run
    exec code+'\n' in context
  File "<string>", line 1
    print 'greg'
                ^
SyntaxError: invalid syntax
(Note the ^ actually appears under after the ' )

To really get a picture of what is coming out of the DB I had the
program print out everything about this string using this code:
    print code
    print repr(code)
    print type(code)
    for char in code:
        print ord(char),char

To which I got:

print 'greg' print 'greg2'
"print 'greg'\r\nprint 'greg2'"
<type 'str'>
112 p
114 r
105 i
110 n
116 t
32
39 '
103 g
114 r
101 e
103 g
39 '
13
10
112 p
114 r
105 i
110 n
116 t
32
39 '
103 g
114 r
101 e
103 g
50 2
39 '




More information about the Python-list mailing list