2016-04-26 4 views
0

Also ich versuche, die Menge der Zeilen in einer TXT-Datei in Python zu bekommen. Meine Datei hat 62 Zeilen, aber mein Programm sagt mir, dass es 184 Zeilen hat.Der Versuch, die Größe einer .txt in Python zu bekommen

import os 
lines = os.path.getsize("file.txt") 
print lines 

Was habe ich falsch gemacht?

+3

Hvae Sie lesen die Dokumentation für ['os.path.getsize()'] (https://docs.python.org/2/library/os.path.html#os.path.getsize)? –

+2

Warum hast du gedacht, "getsize" wäre eine Zeilenzählung ?! – jonrsharpe

Antwort

1

sollten Sie es auf diese Weise tun, wenn Sie Anzahl der Zeilen zählen wollen:

def wc(filename): 
    """ 
    counts # of lines in a file (Like UNIX's [wc -l]) 
    """ 
    with open(filename, 'r') as f: 
     return sum(1 for l in f) 

lines = wc('file.txt') 

in Ihrem Code Sie die Größe Ihrer Datei

1

Da die documentation Zustände in Bytes lesen:

os.path.getsize(path)

Return die Größe, in Bytes, von Pfad. Raise OSError, wenn die Datei nicht existiert oder nicht zugegriffen werden kann.

Verwenden Sie eine andere Methode, wie Sie die Datei und Iteration über sie zu öffnen:

with open('file.txt') as f: 
    print sum(1 for line in f) 
0

Wenn Sie Mac OSX oder Linux und je nach Zweck verwenden, kann es für Sie viel einfacher sein Öffnen Sie einfach Ihr Terminal und geben Sie Folgendes ein:

wc ist die Wortzählung. Wenn Sie -l hinzufügen, wird die Anzahl der Zeilen geändert.

Verwandte Themen