私はPythonスクリプトでの経験はありませんが、私のプロジェクトの要件としてコードを作成しなければならなかったのですが、ここで問題が発生しています -python - キーの値を同じ辞書の異なるキーに対応する値に置き換えます
私はPythonで読むためにきた共通のパスを設定するには、UNIXスクリプトから来て、以下の値を持つ辞書持っている -
{'# blah blah blah ': '', 'START_DIR': '/PATH/TO/StartDir', 'FIRST_DIR': '${START_DIR}/FirstDir', '# GIBBERISH': 'MORE GIBBERISH', 'SECOND_DIR': '${FIRST_DIR}/SecondDir'....so on and so forth}
を私は値を読み取ることができたが、値は次のようになります -
FIRST_DIR="${START_DIR}/FirstDir"
SECOND_DIR="${FIRST_DIR}/SecondDir"
.....
Pythonで読みながら、UNIXの変数として
は展開されませんし、私は以下のように辞書の値ですべての$ {}囲まれた変数のための辞書内の値を置き換えたい -
{'# blah blah blah ': '', 'START_DIR': '/PATH/TO/StartDir', 'FIRST_DIR': '/PATH/TO/StartDir/FirstDir', '# GIBBERISH': 'MORE GIBBERISH', 'SECOND_DIR': '/PATH/TO/StartDir/FirstDir/SecondDir'....so on and so forth}
私が検索しましたこのフォーラムと私が得た最も近い答えはこのリンクに見つかりました - https://codereview.stackexchange.com/questions/80273/replace-keys-in-values-with-key-values-from-same-dictionary しかし私は私の問題のために働くことができませんでした。あなたの誰かが私を助けてくれますか?
ありがとうございました!
おかげトンコーリー!!それは完璧にうまくいった。しかし、何が起こっているのかを説明してください - 'd [key] = value.replace(match.group(0)、d [match.group(1)])?'私はこの置き換えを理解できません。 –