checkily 发表于 2018-2-5 17:07:42

怎样简单地提取一个文本文件有多少行?我的方法很笨,求指导

本帖最后由 checkily 于 2018-2-5 17:22 编辑

我的方法很笨,如下:
有一个文本文件test.txt

f=open("test.txt")
count=0   #计算行数
for each in f:
    f.readline()
    count+=1
f.seek(0,0)       #把文件的指针归0,后面有用。所以没有把文件close

我觉得很笨。结果还是错的。有大神可以修改一下吗?

checkily 发表于 2018-2-5 17:22:21

我知道了,实在太笨了
f=open("test.txt")
count=0
for each in f:
    count+=1

hll5752249 发表于 2018-2-5 17:23:48

file = open(u"test.txt")
count = len(file.readlines())   #直接readlines()读取所有行,readlines()返回的是一个列表。 然后用len()获取长度
print(count)

我不是大神,我只是抛砖引玉,写下来和大家交流下。

铁棍阿童木 发表于 2018-2-5 17:24:16

checkily 发表于 2018-2-5 17:22
我知道了,实在太笨了

for循环本身就是读取一行,何必多此一举再去读取文件呢。

lapo_Mu 发表于 2018-2-5 20:10:33

hll5752249 发表于 2018-2-5 17:23
我不是大神,我只是抛砖引玉,写下来和大家交流下。

这个可以是可以,当遇到文件很大的时候,就会卡死。

ba21 发表于 2018-2-5 22:13:59

len(list(f))

cruise2018 发表于 2018-2-6 08:07:14

for eachline in f

checkily 发表于 2018-2-6 08:53:17

6楼最简洁,谢谢。但遇到大文件时,做成一个列表,会慢吗?
页: [1]
查看完整版本: 怎样简单地提取一个文本文件有多少行?我的方法很笨,求指导