Help to convert Number to String

Steven D'Aprano steve at REMOVE-THIS-cybersource.com.au
Sat Aug 14 03:06:14 CEST 2010


On Fri, 13 Aug 2010 13:50:48 -0700, Vamsi wrote:

> I am trying to count the number of lines in a file and insert  into the
> file but getting the error message "TypeError: must be string or
> read-only character buffer, not int", Could you please help me how to
> correct this?
> 
> 
> here is the code
> 
> lines1 = sum(1 for line in open('C:/test1.txt'))
> wfile = open('C:/test1.txt'', 'a')
> wfile.write(str(lines1).zfill(9))
> wfile.close()

No, that ISN'T the code you are using. 

Don't re-type the code (introducing syntax errors), but copy and paste 
WORKING code. Also you need to copy and paste the EXACT error message you 
get, not just paraphrasing it.

When I correct the obvious errors in your code above, it works for me:

>>> f = open('test', 'w')
>>> f.write('hello\nworld\n')
12
>>> f.close()
>>> lines1 = sum(1 for line in open('test'))
>>> wfile = open('test', 'a')
>>> wfile.write(str(lines1).zfill(9))
9
>>> wfile.close()

and the file is correctly updated:

>>> open('test').read()
'hello\nworld\n000000002'


-- 
Steven



More information about the Python-list mailing list