我想编写与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
你好
答案 0 :(得分:-1)
您应该使用# -*- coding: <encoding name> -*-
标头设置脚本的编码:
# -*- coding: utf-8 -*-
from __future__ import print_function
from __future__ import unicode_literals
print("你好")
有关详细信息,请参阅PEP 263。