是否有优化的 Python 包来确定一个大的 ASCII 文件中有多少行而不将整个文件加载到内存中?这与如何在 Python 中廉价地获取行数的主题不同?问题与内置 Python 解决方案有关。
问问题
274 次
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
Another option involves using fileinput
's lineno
method
import fileinput
x = fileinput.input('test.csv')
for line in x:
pass
print x.lineno()
3
x.close()
于 2013-06-07T17:35:58.650 回答