On Tue, 11 May 2010 11:00:20 -0700 ramya natarajan <nramy...@gmail.com> wrote:
> Hello, > > I am very beginner to programming, I got task to Write a loop that reads > each line of a file and counts the number of lines that are read until the > total length of the lines is 1,000 characters. I have to read lines from > files exactly upto 1000 characters. > > Here is my code: > I created file under /tmp/new.txt which has 100 lines and 2700 characters > , I wrote code will read exactly 1000 characters and count lines upto those > characters.But the problem is its reading entire line and not stopping > excatly in 1000 characters. Can some one help what mistake i am doing here?. > > log = open('/tmp/new.txt','r') > lines,char = 0,0 > for line in log.readlines(): > while char < 1000 : > for ch in line : > char += len(ch) > lines += 1 > print char , lines > 1026 , 38 ---- Its counting entire line instead of character upto 1000 > -- can some one point out what mistake am i doing here , where its not > stopping at 1000 . I am reading only char by car > > My new.txt -- cotains content like > this is my new number\n > > Can some one please help. I spent hours and hours to find issue but i am not > able to figure out, Any help would be greatly appreciated. > Thank you > Ramya Either you read line per line, but then you cannot stop exactly at the 1000th character; or you traverse the text char per char, but this is a bit picky. I would read line per line, and when count >= 1000, read chars inside current line to get to the 1000th, if needed. (Your specification does not state this, but your disappointment seems to be about that issue ;-) Denis ________________________________ vit esse estrany ☣ spir.wikidot.com _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor