Maison  >  Questions et réponses  >  le corps du texte

dict - Erreur lors de l'écriture de dic dans txt en Python : un objet de type octet est requis, pas '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 (dernier appel le plus récent) :
Fichier "/Users/Air/itchat/test.py", ligne 8, dans <module>

output.write(write_str)

TypeError : un objet de type octets est requis, pas 'str'

Processus terminé avec le code de sortie 1

PHP中文网PHP中文网2689 Il y a quelques jours1549

répondre à tous(2)je répondrai

  • 扔个三星炸死你

    扔个三星炸死你2017-06-30 09:57:31

    Changez la méthode d'ouverture en w, n'utilisez pas wb. b signifie binaire

    répondre
    0
  • 阿神

    阿神2017-06-30 09:57:31

    用wb打开,需要encode

    `dic = {2:'bob',3:'alice'}
    output = open('/Users/Air/itchat/push.txt','wb')
    pour moi dans dic:

    print (i,dic[i])
    write_str = str(i) + ' ' + str(dic[i]) + '\n'
    print(type(write_str))
    output.write(write_str.encode())

    output.close()`

    répondre
    0
  • Annulerrépondre