どうやら、Pythonは許可します
'%s %(var)s' % {'var': 'x'}
生産する
"{'var': 'x'} x"
基本的に、python の名前付きプレースホルダー置換機能のみが必要な場合に何かを書いています。名前付きプレースホルダーと位置プレースホルダーの組み合わせを検出する方法はありますか?
編集:これの文脈は、私が一種のテンプレートツールである何かを書いているということです。あちこちに %(named)s を使って大量のものを書き込んだ後、 template.substitute(dict) を呼び出してすべてを置き換えます。%[srfd,etc]
文字列が残っている場合はエラーをスローすることで、文字列に残っている場合(補間などを忘れたため)を防止しようとしています。