0

エッセイを書きましたが、python を使用してエッセイの単語を数えたいと思います。エッセイを python テキスト ファイルに貼り付けて保存しました。テキストファイルを繰り返し処理して単語をカウントするプログラムを作成しましたが、次のエラーが発生し続けます。"UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 62: character maps to <undefined>"

これはコードです:

def counter(file):
    with open(file) as word:
        count=0
        for i in word:
            words=i.split()
            count+=words
        print(count)

ファイル名は Essay.txt です。

うまくいきません。シェルでesses.txtを開こうとしても機能しません。私は次のことを試しました:

infile = open('essay.txt')
word=infile.read()
print(word)

これもうまくいきません。私は何をすべきか?助けてください。ありがとうございました

4

2 に答える 2

0

問題を再現しようとしましたが、再現できませんでした。essay.txtファイルはエンコード スタイルで保存されているためutf-8、使用している設定とは異なる場合があります。私のために働いているコードは次のとおりです。

def counter(file):
    with open(file) as word:
        count=0
        for i in word:
            words=i.split()
            count += len(words)
        print(count)
counter("essay.txt")

いくつかの変更を加えました。のそれぞれについてi、関数が行の単語の総数を返すwordことを望んでいると思います。len()次に、その行の単語数をドキュメントの全体のカウントに追加できます。これは現在、Python 3.3.0 で機能しています。誤解していたら教えてください!

ありがとう。

于 2013-11-02T01:12:07.627 に答える