将python2与fromfrom __future__ import unicode_literals一起使用时,python UnicodeEncodeError

时间:2018-08-01 00:45:00

标签: python python-2.7

我想编写与python2和python3兼容的代码。 我需要from __future__ import unicode_literals,如何打印unicode字符串?

文件:hello.py

# encoding=utf-8
from __future__ import print_function
from __future__ import unicode_literals
print("你好")

python2 hello.py

UnicodeEncodeError: 'ascii' codec can't encode characters in position 2-13: ordinal not in range(128)

python3 hello.py

你好

1 个答案:

答案 0 :(得分:-1)

您应该使用# -*- coding: <encoding name> -*-标头设置脚本的编码:

# -*- coding: utf-8 -*-
from __future__ import print_function
from __future__ import unicode_literals
print("你好")

有关详细信息,请参阅PEP 263