[Python-Dev] RFC: PEP 460: Add bytes % args and bytes.format(args) to Python 3.5 (original) (raw)
Stephen J. Turnbull stephen at xemacs.org
Thu Jan 9 05:53:02 CET 2014
- Previous message: [Python-Dev] RFC: PEP 460: Add bytes % args and bytes.format(args) to Python 3.5
- Next message: [Python-Dev] RFC: PEP 460: Add bytes % args and bytes.format(args) to Python 3.5
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Antoine Pitrou writes:
However, interpolating a bytes object isn't out of place, and it is what a minimal "formatting" primitive could do.
Something like this?
# VERY incomplete pseudo-code
class str:
# new method
# fmtstring has syntax of .format method's spec, maybe adding a 'B'
# for "insert Blob of bytes" spec
def format_for_wire(fmtstring, args, encoding='utf-8', errors='strict'):
result = b''
# gotta go to a meeting, exercise for reader :-(
parts = zip_specs_and_args(fmtstring, args)
for spec, arg in parts:
if spec == 'B' and isinstance(arg, bytes):
result += arg
else:
partial = format(spec, arg)
result += partial.encode(encoding=encoding, errors=errors)
return result
Maybe format_to_bytes is a more accurate name.
I have no idea how to do this for %-formatting though. :-(
And I have the sneaking suspicion that it can't be this easy. :-(
Can it? :-)
- Previous message: [Python-Dev] RFC: PEP 460: Add bytes % args and bytes.format(args) to Python 3.5
- Next message: [Python-Dev] RFC: PEP 460: Add bytes % args and bytes.format(args) to Python 3.5
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]