2016-07-14 46 views
2

希望这里有个简单的问题,我有一个基于它的unicode的值是否必须被编码。我使用内置的string.encode类Python 2.6:encode()不带关键字参数

代码很简单:

if value_t is unicode: 
       values += (value.encode('utf-8', errors='backslashreplace'), None) 
       continue 

但是它返回“编码()不带任何关键字参数”

我在Python 2.6运行此,我不能没有找到任何文档说这不存在于2.6 有没有一种方法可以确保它不会被不同库中的编码函数覆盖?或者某种解决方案。

看起来你可以在2.6(https://docs.python.org/2.6/howto/unicode.html)中使用string.encode,所以我不确定它为什么不起作用。我正在一个相当大的系统中处理一个文件,所以我担心这会被覆盖。无论是或我需要的一些模块没有安装..但我迷路了

回答

4

Python文档encode解释了为什么你看到这个问题。具体做法是:Changed in version 2.7: Support for keyword arguments added

1

由于方法签名往往因版本变更,您应经常阅读有关文件版本,与

工作从str.encode文档Python 2.6中,该方法的签名是:

str.encode([encoding[, errors]]) 

没有errors关键字参数,但第二个参数可用于相同的目的。