TypeError: verwacht een karakterbufferobject

Ik kom de volgende fout tegen tijdens het schrijven van de waarde in een bestand. Kun je me alsjeblieft helpen erachter te komen wat hier het probleem is en hoe ik het kan oplossen?

row = 649
with open(r'\\loc\dev\Build_ver\build_ver.txt','r+') as f:
    f.write(row)
print row

Fout:

Traceback (most recent call last):
  File "latest_rev.py", line 6, in <module>
    f.write(row)
TypeError: expected a character buffer object

Antwoord 1, autoriteit 100%

Ervan uitgaande dat u alleen de tekenreeks '649'naar het bestand wilt schrijven, wijzigt u rowin '649'of geeft u f.write(str(row)).


Antwoord 2, autoriteit 5%

Je kunt doen wat timgeb deed of je kunt doen

row = str(649)

Antwoord 3

Ik had dezelfde fout in mijn code:

s.translate(table)

De sobj was string. Het probleem was dat s.translateeen unicode-tekenreeks verwachtte. Dus de oplossing was om te gebruiken:

unicode(s).translate(table)

Other episodes