Typeerror: Expected a Character Buffer Object

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
1

3 Answers

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

1

You can do what timgeb did or you can do

row = str(649)

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)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Maya Lin-Takahashi
Author

Maya Lin-Takahashi

Maya is a hardware enthusiast who tests and reviews smart home devices, smartphones, wearables, and audio gear. She focuses on practical consumer value and build quality.