2012-04-20 88 views
0

我試圖通過在我的站點包中編寫一個小腳本來製作一個python包別名。在這裏,我試圖通過將它命名爲ujson來使用json。創建Python包別名TypeError:預期的字符串或緩衝區錯誤

#ujson.py 
import json 

def dumps(*args, **kwargs): 
    return json.dumps(args, kwargs) 

def loads(*args, **kwargs): 
    return json.loads(args, kwargs) 


#test.py 
import ujson 
d = {'a': 'b'} 
du = ujson.dumps(d) 
lo = ujson.loads(du) 

奇怪的是,它的工作dumpsloads它給TypeError: expected string or buffer

幫助。

回答

2

你忘了正確傳遞的參數。

return json.dumps(*args, **kwargs) 

但真的...

dumps = json.dumps 
loads = json.loads 
+0

+1 @Ignacio是做到了...... – jerrymouse 2012-04-20 06:15:05

1

你需要傳遞參數與星

def dumps(*args, **kwargs): 
    # args - tuple 
    # kwargs - dict 
    return json.dumps(*args, **kwargs) 
+0

+1 @ San4ez我忘了 – jerrymouse 2012-04-20 06:10:14

相關問題