17

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 3

41

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

Sign up to request clarification or add additional context in comments.

1 Comment

i.e. write() won't take an int, so cast row to a string.
2

You can do what timgeb did or you can do

row = str(649)

Comments

1

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)

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.