让我们下面的例子:如何将字节作为关键字参数的关键字传递给函数?
def fun(**args):
print(str(args))
dic = {'name': 'Pulkit'}
fun(**dic)
此代码工作正常,我有以下的输出:
{'name': 'Pulkit'}
现在,让我们传递的价值为字节:
dic_vb = {'name': b'Pulkit'}
fun(**dic_vb)
这也可以正常工作,并具有以下输出:
{'name': b'Pulkit'}
但事情的变化,当我尝试有钥匙的字节:在类型错误说
dic_kb = {b'name': 'Pulkit'}
这导致:
TypeError: fun() keywords must be strings
有什么办法,我们可以通过字节作为关键字参数。我还检查了CPython代码repo,它处理关键字参数,看起来像我们不能通过。有没有什么解决办法,或者我需要确保unicodes通过。
我正在处理一个代码库,我们在Python 2上有很多这样的实例,需要移植到Python 3.所以唯一可能的方法是将所有关键字参数转换为unicodes?