On Aug 13, 7:27 pm, Stefan Schwarzer <sschwar...@sschwarzer.net> wrote: > Hi Vamsi, > > On 2010-08-13 22:50, 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? > > Which Python version do you use? > > For which statement exactly do you get the message? > > > here is the code > > > lines1 = sum(1 for line in open('C:/test1.txt')) > > wfile = open('C:/test1.txt'', 'a') > > You have two quotes here after the filename. These give a > SyntaxError here. Python sees two concatenated strings, > "C:/test1.txt" and ", " and stumbles over the a immediately > after the closing quote of the second string. > > > wfile.write(str(lines1).zfill(9)) > > wfile.close() > > If I remove the redundant quote character and substitute > filenames appropriate for my system, everything works. > > Maybe the code you included in this post isn't the same > which led to the error? > > Stefan
Thank you Stefan,I pasted only part of the code.I am new to Python and using 2.7.My actual code is as below, If I run the below code I am getting the error "TypeError: 'str' object is not callable" ,Now I found that I am using the "str" variable which is a function.Thanks a lot for your help. fileopen = open('C:/MPython/test.txt', 'r') str = fileopen.read() print str fileopen.close() lines1 = sum(1 for line in open('C:/MPython/test.txt')) wfile = open('C:/MPython/test.txt', 'a') wfile.write("\n") wfile.write(str(lines1).zfill(9)) wfile.close() -- http://mail.python.org/mailman/listinfo/python-list