Я хочу знать количество строк текстового файла. Как я могу это сделать?
если итерирование по файлу:
for line_no, line in enumerate(f, start=1):
или если подсчет строк в файле (f
):
count = sum( 1 for line in f )
f = open('textfile.txt', 'rb')
len(f.readlines())
Метод readlines() возвращает список, в котором каждый индекс содержит строку textfile.txt.
sum( 1 for line in f )
будет использовать меньше памяти, поскольку не будет загружать весь файл в память.
f = open("file.text")
count = sum(1 for line in f)
что эквивалентно
count = 0
for line in f:
count+=1
Как сказал @Dan D., вы можете использовать enumerate() в открытом файле. По умолчанию начинается отсчет с 0, поэтому, если вы хотите начать подсчет строки в 1 (или что-то еще), используйте аргумент start
при вызове функции enumerate(). Кроме того, он считал, что плохая практика использует "файл" в качестве имени переменной, так как существует функция с этим именем. Таким образом, попробуйте что-то вроде:
for line_no, line in enumerate(open(file_name), start=1):
print line_no, line