Vincent Vande Vyvre writes: > I've this strange error: > > Python 3.4.3 (default, Nov 17 2016, 01:08:31) > [GCC 4.8.4] on linux > Type "help", "copyright", "credits" or "license" for more information. >>>> import ast >>>> l = "print('hello world')" >>>> ast.literal_eval(l) > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "/usr/lib/python3.4/ast.py", line 84, in literal_eval > return _convert(node_or_string) > File "/usr/lib/python3.4/ast.py", line 83, in _convert > raise ValueError('malformed node or string: ' + repr(node)) > ValueError: malformed node or string: <_ast.Call object at 0x7fcf955871d0> > > > Is it an import question ?
print('hello world') is not a literal. Literals are expressions that somehow stand for themselves. Try help(ast.literal_eval) for a more detailed definition. literal_eval('x') # not ok: x is not a literal literal_eval('"x"') # ok: "x" is a literal -- https://mail.python.org/mailman/listinfo/python-list