New submission from Marco Sulla <launchpad....@marco.sulla.e4ward.com>:
In `string` module, there's a very little known class `Template`. It implements a very simple template, but it has an interesting method: `safe_substitute()`. `safe_substitute()` permits you to not fill the entire Template at one time. On the contrary, it substitute the placeholders that are passed, and leave the others untouched. I think it could be useful to have a similar method for the format minilanguage. I propose a partial_format() method. === WHY I think this is useful? === This way, you can create subtemplates from a main template. You could want to use the template for creating a bunch of strings, all of them with the same value for some placeholders, but different values for other ones. This way you have *not* to reuse the same main template and substitute every time the placeholders that does not change. `partial_format()` should act as `safe_substitute()`: if some placeholder misses a value, no error will be raised. On the contrary, the placeholder is leaved untouched. Some example: >>> "{} {}".partial_format(1) '1 {}' >>> "{x} {a}".partial_format(a="elephants") '{x} elephants' >>> "{:-f} and {:-f} nights".partial_format(1000) '1000 and {:-f} nights' ---------- components: Interpreter Core messages: 363317 nosy: Marco Sulla priority: normal severity: normal status: open title: partial_format() type: enhancement versions: Python 3.9 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue39842> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com