Python(2.7)で問題が発生しました - CLIを使用して入力を促し、その入力に基づいてプロジェクトを生成するcookiecutterプロジェクトがあります。私のフィールドのeval()をキャッチする際の問題cookiecutterを使用したSyntaxError
一つが記述され、そして私はevalのを通してそれを渡すとき、すなわちに引用符を追加すると「こんにちは、これは 『私』の記述された」構文エラーの原因となることを見てきました:
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
これを実行するコードのセクションは次のとおりです。
try:
parameters = eval("{{ cookiecutter }}")
except:
print('An error occurred!')
sys.exit(1)
私の問題は、コードがexcept
句に入ることはありませんので、私は正常に終了する機会を持っていないです。
私はこれをよりうまく処理できる方法はありますか?
P.S.私はいくつかのJinja2フィルターを使って入力を消毒することができますが、入力を変更せずにエラーを処理できる解決法を探しています。
それはあなたのコードを実行する前に発生した解析中にエラーが検出されたことを意味し、 'SyntaxError'、であるように、これは除いてのステートメントに到達しません。だから、あなたの例外を除いて、 'SyntaxError'を取り除く必要があります。 –