Hi all, Can someone explain why the following occurs? a = numpy.zeros((100)) b = numpy.ones((10)) a[20:30] = b # okay eval('a[50:60] = b') # raises SyntaxError: invalid syntax Is there some line mangling that the interpretor does that eval doesn't do? I see there's room for global and local parameters to eval. Would setting one of those be the answer? Cheers, Angus.  AJC McMorland, PhD Student Physiology, University of Auckland Armourer, Auckland University Fencing Secretary, Fencing North Inc.
On 25/09/06, Angus McMorland <amcmorl@gmail.com> wrote:
Hi all,
Can someone explain why the following occurs?
a = numpy.zeros((100)) b = numpy.ones((10)) a[20:30] = b # okay eval('a[50:60] = b') # raises SyntaxError: invalid syntax
Is there some line mangling that the interpretor does that eval doesn't do?
No. Eval evaluates expressions, that is, formulas producing a value. "a=b" does not produce a value, so you are obtaining the same error you would if you'd written if a=b: ... The way you run code that doesn't return a value is with "exec". A. M. Archibald
participants (2)

A. M. Archibald

Angus McMorland