Ich habe ein Problem in Python (2.7) - Ich habe ein Cookiecutter-Projekt, das zur Eingabe (über CLI) auffordert und dann mein Projekt basierend auf dieser Eingabe generiert.Probleme mit dem Auffangen von eval() SyntaxError mit cookiecutter
Einer meiner Felder ist eine Beschreibung, und ich habe das in, dh das Hinzufügen Anführungszeichen gesehen ‚Hallo dies‚meine‘Beschreibung‘ einen Syntaxfehler verursachen, wenn ich es durch eval übergeben:
File "/var/folders/4b/gzszrl3d5fn1q7vvv05s63vmf014cj/T/tmpnJWgqK.py", line 53
parameters = eval("{u'description': u'Hello this is "my" description'}")
SyntaxError: invalid syntax
ERROR: Stopping generation because pre_gen_project hook script didn't exit successfully
der Abschnitt des Codes dieser Ausführung ist:
try:
parameters = eval("{{ cookiecutter }}")
except:
print('An error occurred!')
sys.exit(1)
Mein Problem ist der Code nie die except
Klausel eintritt, so habe ich keine Chance, anmutig zu verlassen.
Gibt es eine Möglichkeit, damit ich besser umgehen kann?
P.S. Ich weiß, dass ich die Eingabe mithilfe einiger Jinja2-Filter bereinigen könnte, aber ich suche nach einer Lösung, mit der ich einen Fehler behandeln kann, ohne die Eingabe zu ändern.
Dies wird die except-Anweisung nicht erreichen, da es ein 'SyntaxError' ist was bedeutet, dass der Fehler gefunden wird beim Parsen, die vor dem Ausführen von Code auftritt. Sie müssen also alle '' SyntaxError''s loswerden, nur um zu arbeiten. –