string.Template.safe_substitute(...)
を使用して、文字列内のキーを所定の辞書で置き換えています。それらの文字列には、キーではないので置き換えたくないdouble $
文字を含むことがあります。
key
が与えられた文字列内の任意の
$key
と一致しないと、その関数のドキュメントが言うので、文字列を変更しないことが予想
>>> Template("foo$$bar").safe_substitute({"key":"val"})
'foo$bar'
:
は、次の例を考えます
元のプレースホルダは、そのままの結果の文字列に表示されます。また、substitute()とは異なり、$の他の出現はValueErrorを発生させる代わりに$を返すだけです。
しかし代わりに$
の1つが削除されました。何故ですか?
ああ、私はいつも関数定義を読んでいますが、常に上部を見逃しています。 – ap0