关于python:python-如何获取文本文件中的行数

Python - How to get the number of lines in a text file

本问题已经有最佳答案,请猛点这里访问。

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

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

我的文件很大,所以很难使用这种方法…


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

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

对你的方法稍作修改

1
2
3
4
5
6
with open('test.txt') as f:
    line_count = 0
    for line in f:
        line_count += 1

print line_count

笔记:

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


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

文件的行数未存储在元数据中。所以你必须运行整个文件来解决这个问题。不过,您可以使它的内存效率提高一点:

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