2012-04-20 60 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

相关问题