6

私は例外的に次のように動作しました。

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

トレースバック (最新の呼び出しが最後): ファイル ""、1 行目、TypeError: m() キーワードは文字列でなければなりません

私は何か間違ったことをしていますか、それとも修正する必要がありますか?

4

2 に答える 2

15

Python 2.6.5 以降にアップグレードします。

于 2011-01-04T21:32:05.700 に答える
5

アップグレードは私にとって選択肢ではなかったので、必要に応じて辞書でこれを呼び出しています--

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 に答える