[Tutor] Help required to count no of lines that are until 1000 characters

Luke Paireepinart rabidpoobear at gmail.com
Tue May 11 20:36:10 CEST 2010


On Tue, May 11, 2010 at 1:00 PM, ramya natarajan <nramya82 at gmail.com> wrote:
> Hello, I have to read lines from
> files exactly upto 1000 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

here's the pseudocode of what you're doing, it might help you
understand what the problem is:
for every line in the file:
    if the character count is less than 1000, add the length of the
current line.

You are missing a condition.

Here is another version of your code that has the same problem, see if
this helps make it clearer:
lines, chars = 0,0
with open('/temp/new.txt') as f:
    for line in f:
        if chars > 1000: break
        chars += len(line)


This sounds a lot like a homework problem so I won't give you the
answer, but I hope that helps.


Also do you realize you are counting newlines as well?  You may not
want to do this, depending on your intended application.

Hope that helps,
-Luke


More information about the Tutor mailing list