1
をコーディングする文字列を変換しますPythonの次の辞書持っている私がいる場合
foo = {'bar': {'baz': {'qux': 'gap'} } }
を、私は、ユーザーが入力できるようにしたい「『バー』、 『バズ』、 『qux』、 『DOP』」[拡張: " 'バー'、 'バズ'、 'qux'、 'DOP'"]に変換する:
{'qux': 'gap'}
{'qux': 'dop'}
に私はへのユーザ入力を変換することによって、これをアプローチする期待していました辞書ルックアップ・ステートメント以下介してNT(正確な用語の不明):
objectPath = "foo"
objectPathList = commandList[:-1] # commandList is the user input converted to a list
for i in objectPathList:
objectPath += "[" + i + "]"
changeTo = commandList[-1]
は上記objectPath = "FOO [ 'バー'] [ 'バズ'] [ 'qux']" とchangeToは= 'DOP'
を行います素晴らしい!しかし、今私はそのステートメントをコードに変えることに問題がありました。
私はハード書かれたコードを置き換えるために、文字列objectPathに変換することができますどのようeval(objectPath) = changeTo
:私は、トリックを行うだろう、しかし、次のように動作しないようです)(evalのを思いましたか?
'evalの(objectPath + "= '" + changeTo "'")' – L3viathan
ような何かをしたいです!ありがとう! – Jack