如何将Unicode关键字传递给**kwargs

6 投票
2 回答
5481 浏览
提问于 2025-04-16 09:24

我遇到了一个问题,想让它正常工作。

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

错误追踪(最近的调用在最前面): 文件 "", 第 1 行,在 类型错误:m() 的关键字必须是字符串

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

2 个回答

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
16

请升级到Python 2.6.5或更高版本。

撰写回答