The original implementation of new-style string formatting in Python 2.6/3.0 did not allow empty {}
templates. The change that allows them is documented as issue 5237: Allow auto-numbered replacement fields in str.format() strings. On that page, message 83559 from Eric V. Smith ponders the question whether string.Format
also should support auto-numbering (I suppose he means string.Formatter
) and concludes against it.
A patch has been proposed in issue 13598: string.Formatter doesn't support empty curly braces "{}".