1

我需要编写一个程序来计算文件中行的 len 并将行数 >= 返回到用户要求的 len 大小。问题是 len() 计数 (\n),我不能假设在最后一行之后有 (\n)。我如何告诉 len() 在每一行的末尾不计算 (\n) ?

def count_long_lines(filename, size):

        f=open(filename,'r')
        count_line=0
        for line in f:
                if len(line)-1>=size:
                    count_line +=1

        print count_line
        f.close()
4

2 回答 2

6

用于.rstrip('\n')从行中删除任何换行符:

len(line.rstrip('\n'))
于 2012-11-22T11:46:04.927 回答
6

您可以使用(注意,.rstrip()删除尾随换行符)

with open(filename) as f:
    print sum(1 for line in f if len(line.rstrip('\n')) >= size)
于 2012-11-22T11:47:05.587 回答