6

我是以下工作的例外。

def foo(**kwargs):
    print kwargs
foo(**{'a':'b'})
foo(**{u'a':'b'})

Traceback(最近一次调用最后一次):文件“”,第 1 行,在 TypeError:m() 关键字必须是字符串

我做错了什么还是我应该修复它?

4

2 回答 2

15

升级到 Python 2.6.5 或更高版本。

于 2011-01-04T21:32:05.700 回答
5

升级对我来说不是一个选择,所以我根据需要在 dicts 上调用它——

def flatten_unicode_keys(d):
    for k in d:
        if isinstance(k, unicode):
            v = d[k]
            del d[k]
            d[str(k)] = v
于 2012-07-26T07:26:07.620 回答