How do I convert an iterator over bytes into a str?

Mark Lawrence breamoreboy at yahoo.co.uk
Wed Aug 19 00:54:13 CEST 2009


markscottwright wrote:
> This does what I expected:
>     In [6]: list(iter([1,2,3,4,5]))
>     Out[6]: [1, 2, 3, 4, 5]
> 
> But this appears to be doing a __repr__ rather than making me a nice
> string:
>    In [7]: str(iter("four score and seven years ago"))
>    Out[7]: '<iterator object at 0x0139F190>'
> 
> What's the correct way to turn an iterator over bytes into a string?
> This works, but, ewww:
>     In [8]: "".join(iter("four score and seven years ago"))
>     Out[8]: 'four score and seven years ago'
You've started with a string.
 >>> type("four score and seven years ago")
<type 'str'>

-- 
Kindest regards.

Mark Lawrence.




More information about the Python-list mailing list