Couting the number of lines of code of a python program

chaouche yacine yacinechaouche at
Sat Jan 5 16:38:06 CET 2013

Sorry, I don't know what went wrong, here is another paste (hopefully this will work this time). If you prefer, this a link anchor to the function

def count_loc(lines):
    nb_lines  = 0
    docstring = False
    for line in lines:
        line = line.strip()

        if line == "" \
           or line.startswith("#") \
           or docstring and not (line.startswith('"""') or line.startswith("'''"))\
           or (line.startswith("'''") and line.endswith("'''") and len(line) >3)  \
           or (line.startswith('"""') and line.endswith('"""') and len(line) >3) :
        # this is either a starting or ending docstring
        elif line.startswith('"""') or line.startswith("'''"):
            docstring = not docstring

            nb_lines += 1

    return nb_lines

----- Original Message -----
From: Chris Angelico <rosuav at>
To: python-list at
Sent: Saturday, January 5, 2013 4:25 PM
Subject: Re: Couting the number of lines of code of a python program

On Sun, Jan 6, 2013 at 2:17 AM, chaouche yacine
<yacinechaouche at> wrote:
> defcount_loc(lines):nb_lines =0docstring =Falseforline inlines:line =line.strip()ifline ==""\ orline.startswith("#")\ ordocstring andnot(line.startswith('"""')orline.startswith("'''"))\ or(line.startswith("'''")andline.endswith("'''")andlen(line)>3)\ or(line.startswith('"""')andline.endswith('"""')andlen(line)>3):continue# this is either a starting or ending docstringelifline.startswith('"""')orline.startswith("'''"):docstring =notdocstring continueelse:nb_lines +=1returnnb_lines

Ow-what? Something's gone wrong with all your whitespace, I think...
can you paste again please?


More information about the Python-list mailing list