Message105317
This code behaves as expected:
>>> ' '.join('cat')
'c a t'
This code does not:
>>> b'\x00'.join(b'cat')
Traceback (most recent call last):
...
b'\x00'.join(b'cat')
TypeError: sequence item 0: expected bytes, int found
Instead, you have to do something like this:
>>> b'\x00'.join(bytes((i,)) for i in b'cat')
b'c\x00a\x00t'
The cause is that indexing a bytes object gives an int, not a bytes. I know, it's as designed, PEP 3137, etc. But in this specific instance, it causes Python to behave inconsistently (bytes vs. str) and unintuitively (to me, anyway).
(Same problem with bytes or bytearray in either position.) |
|
Date |
User |
Action |
Args |
2010-05-08 16:50:50 | perey | set | recipients:
+ perey |
2010-05-08 16:50:50 | perey | set | messageid: <1273337450.92.0.207021309047.issue8662@psf.upfronthosting.co.za> |
2010-05-08 16:50:49 | perey | link | issue8662 messages |
2010-05-08 16:50:49 | perey | create | |
|