Я повинен взяти рядок, що містить заповнювачі, для подальшої заміни, наприклад:
"A %s B %s"
І перетворіть це на:
"A {0} B {1}"
Я придумав:
def _fix_substitution_parms(raw_message):
rv = raw_message
counter = 0
while '%s' in rv:
rv = rv.replace('%s', '{' + str(counter) + '}', 1)
counter = counter + 1
return rv
Це працює, але він відчуває себе супер незграбним і зовсім не "ідіоматичним" пітоном.
Як би виглядало добре, ідіоматичне рішення пітона?
Оновлення для уточнення:
- отримані рядки не використовуються в python. Я робити потрібно число лічильників в там! (тому
{}недостатньо добре)! - Мені потрібно дбати лише про
%sрядки, оскільки повідомлення гарантовано використовувати лише%s(ні на що%i %f)