Cómo contar cada línea.

def file_size(filename):
    infile = open(filename)
    for line in infile: 
        return (len(line))  
    infile.close()

Mi código solo cuenta palabras tatales para la primera línea, y necesito contar palabras totales en todo el nombre de archivo.

-4
user3624415 28 ago. 2014 a las 07:29

3 respuestas

La mejor respuesta
>>> def file_size(filename):
    infile = open(filename,'r')
    count=0
    total_line=0;
    for line in infile:
            total_line+=1
            for i in line:
                    count+=1
    infile.close()
    return("Total Char = "+str(count)  +"  Total Lines = "+str(total_line))



>>> file_size("Cookie.py")
'Total Char = 238  Total Lines = 5'
-2
Benjamin 28 ago. 2014 a las 06:56

Haría algo como esto:

def file_size(filename):
    with open(filename) as f:
        return sum(len(_.split()) for _ in f.readlines())
1
greole 28 ago. 2014 a las 07:17
def file_size(filename):
    lines = []
    with open(filename) as infile:
        total = 0
        for line_num, line in enumerate(infile, 1):
            print("The length of line", line_num, "is", len(line))
            lines.append(len(line))
            total += 1
        print("There are a total of", total, "lines")
    return lines, total
1
inspectorG4dget 28 ago. 2014 a las 22:03