Как я могу преобразовать строки форматирования в старом стиле Python, например:
print("You: %s points. Me: %s points." % (score, total - score))
в следующее?
print(f"You: {score} points. Me: {total - score} points.")
На самом деле, для случая двух %s
Я написал это регулярное выражение:
- search:
"(.*)%s(.*)%s(.*)" % \(([^,\)]+), ([^,\)]+)\)
- replace:
f"$1{$4}$2{$5}$3"
Можно легко написать несколько других регулярных выражений дляобработка дел 1, 3, 4, ... %s
, но я ищу более общий и подверженный ошибкам подход.
Примечание: AFAIK, подобный вопрос был задан здесь в 2013 году( Автоматическое преобразование расширенного средства форматирования строк из старого стиля ), когда f-строки не были чем-то (они были введены в Python 3.6 ).