1

ファイル内の行の長さをカウントし、行数>=をユーザーが要求した長さのサイズに戻すプログラムを作成する必要があります。問題は、len()がカウント(\ n)し、最後の行の後に(\ n)があるとは想定できないことです。すべての行の終わりで(\ n)をカウントしないようにlen()に指示するにはどうすればよいですか?

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 に答える