Path: csiph.com!aioe.org!news.gegeweb.eu!gegeweb.org!news.ortolo.eu!news.izac.org!reader From: Benoit Izac Newsgroups: fr.comp.lang.python Subject: Re: Evaluation de chaine Date: Sat, 13 Jun 2020 13:24:14 +0200 Message-ID: <877dwbb44h.fsf@izac.org> References: <5ee48d9e$0$24264$426a74cc@news.free.fr> Reply-To: benoit.izac@free.fr Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Injection-Info: keg.izac.org; logging-data="32037"; mail-complaints-to="usenet@izac.org" Xref: csiph.com fr.comp.lang.python:3350 Bonjour, Le 13/06/2020 à 10:26, george a écrit dans le message <5ee48d9e$0$24264$426a74cc@news.free.fr> : > Si je stocke dans a la chaine "x=3" (en faisant a="x=3") et qu'ensuite > je fais eval(a) afin de faire référencer l'entier 3 par x, j'obtiens > une erreur de syntaxe. Comment faire pour contourner ce problème ? « x=3 » est une instruction, pas une expression. Il faut utiliser exec(). eval() évalue une expression, par exemple « eval('4+2+1') » renvoie « 7 ». -- Benoit Izac