[New-bugs-announce] [issue4618] print_function and unicode_literals don't work together
Jean-Paul Calderone
report at bugs.python.org
Wed Dec 10 14:19:06 CET 2008
New submission from Jean-Paul Calderone <exarkun at divmod.com>:
Consider:
exarkun at charm:~$ ~/Projects/python/branches/release26-maint/python
Python 2.6+ (trunk:66997, Oct 23 2008, 16:02:09)
[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> def f(o):
... print type(o)
...
>>> f('foo')
<type 'str'>
>>> from __future__ import unicode_literals
>>> f('foo')
<type 'unicode'>
>>> from __future__ import print_function
>>> print('foo')
foo
>>> from io import StringIO
>>> print('foo', file=StringIO())
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File
"/home/exarkun/Projects/python/branches/release26-maint/Lib/io.py", line
1487, in write
s.__class__.__name__)
TypeError: can't write str to text stream
>>> StringIO().write('foo')
3
>>> StringIO().write(b'foo')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File
"/home/exarkun/Projects/python/branches/release26-maint/Lib/io.py", line
1487, in write
s.__class__.__name__)
TypeError: can't write str to text stream
>>>
It seems the type of a literal string is `str´ when it is an argument to
the print function, even with the unicode_literals future import in effect.
----------
components: Interpreter Core
messages: 77539
nosy: exarkun
severity: normal
status: open
title: print_function and unicode_literals don't work together
versions: Python 2.6
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue4618>
_______________________________________
More information about the New-bugs-announce
mailing list