2016-07-14 49 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關鍵字參數,但第二個參數可用於相同的目的。