cherrypy._cpcompat模块¶
与各种版本的Python一起使用CherryPy的兼容性代码。
为了保持与较旧的Python版本的兼容性,该模块对不同Python版本之间的差异提供了有用的抽象,有时偏爱较新的习惯用法,有时偏爱较旧的习惯用法,有时偏爱自定义的习惯用法。
具体地说,Python2使用字符串和‘’表示字节字符串,而Python3使用字符串和‘’表示Unicode字符串。对于每个版本,我们都将它们称为“原生字符串”类型。由于这一重大差异,此模块提供了两个函数:“ntoB”,它将原生字符串(类型为“str”)转换为字节字符串,而与Python版本无关;“ntou”,它将原生字符串转换为Unicode字符串。
尽量不要使用兼容功能‘ntoB’,‘ntou’,‘tonative’。它们是在考虑到Python2.3-2.5兼容性的情况下创建的。相反,请使用Unicode文字(从 __future__) 和字节文字及其.encode/.decode方法(根据需要)。