dict - Python中dic写入txt报错:a bytes-like object is required, not ’str’
问题描述
dic = {2:’bob’,3:’alice’} output = open(’/Users/Air/itchat/push.txt’,’wb’) for i in dic: print (i,dic[i]) write_str = str(i) + ’ ’ + str(dic[i]) + ’n’ print(type(write_str)) output.write(write_str)output.close()
PyCharm运行报错如下:
2 bob<class ’str’>
Traceback (most recent call last):File '/Users/Air/itchat/test.py', line 8, in <module>
output.write(write_str)
TypeError: a bytes-like object is required, not ’str’
Process finished with exit code 1
问题解答
回答1:打开方式改成w,不要用wb。b代表二进制
回答2:用wb打开,需要encode
`dic = {2:’bob’,3:’alice’}output = open(’/Users/Air/itchat/push.txt’,’wb’)for i in dic:
print (i,dic[i])write_str = str(i) + ’ ’ + str(dic[i]) + ’n’print(type(write_str))output.write(write_str.encode())
output.close()`