-1

ファイル全体をメモリにロードすることなく、大きな ASCII ファイルに含まれる行数を判断するために最適化された Python パッケージはありますか? これは、Python で安価に行数を取得する方法のトピックとは異なります。質問は、組み込みの Python ソリューションに関するものです。

4

2 に答える 2

4

行ごとに繰り返すことができます:

with open('filename.txt', 'r') as handle:
    num_lines = sum(1 for line in handle)

より大きなチャンクで読み取り、改行のみをカウントする方が速い場合があります。

with open('filename.txt', 'r') as handle:
    num_lines = 0

    for chunk in iter(lambda: handle.read(1024*1024), None):
        num_lines += chunk.count('\n')
于 2013-06-07T17:27:32.237 に答える
0

別のオプションには、fileinputlinenoメソッドの使用が含まれます

import fileinput
x = fileinput.input('test.csv')
for line in x:
    pass 
print x.lineno()
3
x.close()
于 2013-06-07T17:35:58.650 に答える