Python - 如何获取文本文件中的行数

时间:2015-09-16 11:30:23

标签: python text

我想知道是否可以在不使用命令的情况下知道包含文件文本的行数:

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

我的文件非常庞大,所以很难使用这种方法...

4 个答案:

答案 0 :(得分:11)

作为一种更加pythonic的方式,您可以在sum函数中使用生成器表达式:

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

答案 1 :(得分:9)

对您的方法稍作修改

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

print line_count

备注:

在这里,您将逐行浏览并且不会将完整文件加载到内存中

答案 2 :(得分:4)

文件的行数未存储在元数据中。所以你实际上必须通过整个文件运行才能搞清楚。你可以通过以下方式提高内存效率:

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

答案 3 :(得分:4)

with open('test.txt') as f:
    size=len([0 for _ in f])