标签:set ssi 规则 from enc erro data import font
本文转载与https://haoluobo.com/
python邮件列表里有人发表言论说“python3在10内都无法普及”。在我看来这样的观点有些过于悲观,python3和python2虽然不兼容,但他们之间差别并没很多人想像的那么大。你只需要对自己的代码稍微做些修改就可以很好的同时支持python2和python3的。下面我将简要的介绍一下如何让自己的python代码如何同时支持python2和python3。
from __future__ import
from __future__ import
”后即可使使用python的未来特性了。python的完整future特性可见 __future__
。python3中所有字符都变成了unicode。在python2中unicode字符在定义时需要在字符前面加 u,但在3中则不需要家u,而且在加u后程序会无法编译通过。为了解决该问题可以 “from future import unicode_literals” ,这样python2中字符的行为将和python3中保持一致,python2中定义普通字符将自动识别为unicode。
1
2
3
4
5
6
7
|
try:#python2
from UserDict import UserDict
#建议按照python3的名字进行import
from UserDict import DictMixin as MutableMapping
except ImportError:#python3
from collections import UserDict
from collections import MutableMapping
|
1
2
3
4
5
|
import sys
if sys.version > ‘3‘:
PY3 = True
else:
PY3 = False
|
python3的普及需要每位pythoner的推动,或许你还无法立即升级到python3,但请现在就开始写兼容python3的代码,并在条件成熟时升级到python3。
注:
让你的python程序同时兼容python2和python3
标签:set ssi 规则 from enc erro data import font
原文地址:http://www.cnblogs.com/li134655/p/7687844.html