user3682248
user3682248

Reputation:

TypeError: expected a character buffer object

I am running into the following error while writing the value into a file. Can you please help me figure out what is the issue here and how to fix it?

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

Error:

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

Upvotes: 17

Views: 75992

Answers (3)

bruh
bruh

Reputation: 41

You can do what timgeb did or you can do

row = str(649)

Upvotes: 2

Roozbeh Zabihollahi
Roozbeh Zabihollahi

Reputation: 7347

I had the same error, in my code:

s.translate(table)

The s obj was string. The issue was s.translate was expecting a unicode string. So, the fix was to use:

unicode(s).translate(table)

Upvotes: 1

timgeb
timgeb

Reputation: 78700

Assuming you just want to write the string '649' to the file, change row to '649' or issue f.write(str(row)).

Upvotes: 41

Related Questions