suchen
Fragen und Antworten dict – Fehler beim Schreiben von dic in txt in Python: Es ist ein Byte-ähnliches Objekt erforderlich, nicht „str'.

0
 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 (letzter Aufruf zuletzt):
Datei „/Users/Air/itchat/test.py“, Zeile 8, in <module>

output.write(write_str)

TypeError: Es ist ein Byte-ähnliches Objekt erforderlich, nicht „str“

Prozess mit Exit-Code 1 abgeschlossen

Your Answer
einreichen

2 antwortet
0

打开方式改成w,不要用wb。b代表二进制

2017-06-30 09:57:31

einreichen

0

用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()`

2017-06-30 09:57:31

einreichen

Hot Tools

Sammlung der Laufzeitbibliothek vc9-vc14 (32+64 Bit) (Link unten)

Sammlung der Laufzeitbibliothek vc9-vc14 (32+64 Bit) (Link unten)

Laden Sie die Sammlung der Laufzeitbibliotheken herunter, die für die Installation von phpStudy erforderlich sind

VC9 32-Bit

VC9 32-Bit

VC9 32-Bit-Laufzeitbibliothek für die integrierte Installationsumgebung von phpstudy

Vollversion der PHP-Programmierer-Toolbox

Vollversion der PHP-Programmierer-Toolbox

Programmer Toolbox v1.0 PHP Integrierte Umgebung

VC11 32-Bit

VC11 32-Bit

VC11 32-Bit-Laufzeitbibliothek für die integrierte Installationsumgebung von phpstudy

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen