[Python 2.6] print_function and unicode_literals cannot be used at the same time?

周济是母老鼠 yaohua2000 at gmail.com
Sun Oct 26 09:49:35 EDT 2008


Any ideas?

Code 1:

from __future__ import print_function, unicode_literals
import sys
print(type('HELLO, WORLD!'), file=sys.stderr)

Result 1:

<type 'str'>

Code 2:

from __future__ import unicode_literals, print_function
import sys
print(type('HELLO, WORLD!'), file=sys.stderr)

Result 2:

  File "tmp.py", line 3
    print(type(''), file=sys.stderr)
                        ^
SyntaxError: invalid syntax

Code 3:

from __future__ import unicode_literals, print_function
import sys
print >> sys.stderr, type('HELLO, WORLD!')

Result 3:

<type 'unicode'>



More information about the Python-list mailing list