-3
f = open("unknown.txt", 'r')
a = sum(line.count('ly') for line in f)

f = open("unknown.txt", 'r')
words = 0

for line in f:
    words += len(line.split())
    print(words)

このコードは、テキスト ファイルの単語数である 78 までの数値を出力します。「78」と「78」のみを取得するにはどうすればよいでしょうか。単体でも使えるのでよろしくお願いします!

4

2 に答える 2

2
for line in f:
    words += len(line.split())
    print(words)

これにより、ファイルの各行の後に合計単語数が出力されます。Python が単語の数を計算した後に単語の量のみを出力したい場合は、print呼び出しのインデントを解除します。

for line in f:
    words += len(line.split())

print(words)
于 2013-08-26T09:24:04.093 に答える
2

ファイル内の単語数を数えたいようですね。

これを行う最善の方法は、組み込みlen関数を使用することです。

with open(file_path) as f:
    words = len(f.read().split())

より大きなファイルを処理するには、反復 (ジェネレーター) を介して行う必要があります。関数は次のとおりです。

def words_in_file(file_path):
    with open(file_path) as f:
        return sum(len(line.split()) for line in f)

関数の使用:

>>> words_in_file('C:/Python27/README.txt')
7491
于 2013-08-26T09:25:19.273 に答える