web-dev-qa-db-ja.com

Python-テキストファイルの行数を取得する方法

コマンドを次のように使用せずに、ファイルテキストが何行含まれているかを知ることができるかどうかを知りたいです。

with open('test.txt') as f:
    text = f.readlines()
    size = len(text)

私のファイルは非常に大きいので、この種のアプローチを使用するのは難しいです...

8
user3601754

もっとPythonicは、次のようにsum関数内でジェネレータ式を使用します。

with open('test.txt') as f:
   count = sum(1 for _ in f)
13
Kasramvd

アプローチを少し変更

with open('test.txt') as f:
    line_count = 0
    for line in f:
        line_count += 1

print line_count

メモ:

ここでは、1行ずつ実行し、完全なファイルをメモリにロードしません。

10
The6thSense

ファイルの行数はメタデータに保存されません。したがって、実際にそれを理解するには、ファイル全体を実行する必要があります。ただし、次のようにメモリを少し効率的にすることができます。

lines = 0
with open('test.txt') as f:
    for line in f:
        lines = lines + 1
4
Garogolun
with open('test.txt') as f:
    size=len([0 for _ in f])
4
saeedgnu