GH-132661: Add `string.templatelib.convert()` (#135217)

This commit is contained in:
Adam Turner 2025-07-15 10:56:42 +01:00 committed by GitHub
parent c89a66feb1
commit 5b969fd645
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 33 additions and 6 deletions

View file

@ -1,15 +1,22 @@
"""Support for template string literals (t-strings)."""
__all__ = [
"Interpolation",
"Template",
]
t = t"{0}"
Template = type(t)
Interpolation = type(t.interpolations[0])
del t
def convert(obj, /, conversion):
"""Convert *obj* using formatted string literal semantics."""
if conversion is None:
return obj
if conversion == 'r':
return repr(obj)
if conversion == 's':
return str(obj)
if conversion == 'a':
return ascii(obj)
raise ValueError(f'invalid conversion specifier: {conversion}')
def _template_unpickle(*args):
import itertools