Bill McClain wrote:
I've just installed 2.6, had been using 2.4.

This was working for me:

    #! /usr/bin/env python
    import StringIO
    out = StringIO.StringIO()
    print >> out, 'hello'

I used 2to3, and added import from future to get:

    #! /usr/bin/env python
    from __future__ import print_function
    import io
    out = io.StringIO()
    print('hello', file=out)

....which gives an error:

Traceback (most recent call last):
  File "./example.py", line 5, in <module>
    print('hello', file=out)
  File "/usr/local/lib/python2.6/io.py", line 1487, in write
    s.__class__.__name__)
TypeError: can't write str to text stream

....which has me stumped. Why can't it?

In this context 'str' means Python 3.0's str type, which is unicode in 2.x. Please report the misleading error message.

Christian

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to