讓我們下面的例子:如何將字節作爲關鍵字參數的關鍵字傳遞給函數?
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?