New submission from Steven D'Aprano <steve+pyt...@pearwood.info>:
Format strings should allow spaces around keys and indices. This might be as simple as running str.strip() on the contents of curly braces? Aside from indentation and newlines, in most other contexts whitespace is insignificant. E.g. in subscripting `seq[ index ]`. But format strings treat spaces as part of the index or key, which is surprising. f-strings, on the other hand, already allow spaces around expressions and keys: >>> name = 'Brian' >>> f'{ name.upper() }' 'BRIAN' Examples: '{ }'.format(30) Expect to get '30' but get KeyError: ' ' '{ 0 }'.format(30) Expect to get '30' but get KeyError: ' 0 ' '{ x }'.format(x=30) Expect to get '30' but get KeyError: ' x ' See discussion here: https://discuss.python.org/t/please-help-key-error/9168/1 ---------- messages: 395371 nosy: steven.daprano priority: normal severity: normal status: open title: Allow spaces in format strings type: enhancement versions: Python 3.11 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue44355> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com