from glob import glob
pattern = "D:\\report\\shakeall\\*.txt"
filelist = glob(pattern)
def countwords(fp):
with open(fp) as fh:
return len(fh.read().split())
print "There are" ,sum(map(countwords, filelist)), "words in the files. " "From directory",pattern
import os
uniquewords = set([])
for root, dirs, files in os.walk("D:\\report\\shakeall"):
for name in files:
[uniquewords.add(x) for x in open(os.path.join(root,name)).read().split()]
print "There are" ,len(uniquewords), "unique words in the files." "From directory", pattern
これまでのところ、私のコードはこれです。これは、一意の単語の数と単語の総数をカウントしますD:\report\shakeall\*.txt
問題は、たとえば、このコードが異なる単語code
code.
を認識することです。code!
したがって、これは一意の単語の正確な数に対する答えにはなりません。
Windows テキスト エディターを使用して 42 個のテキスト ファイルから特殊文字を削除したい
または、この問題を解決する例外ルールを作成します。
後者を使用する場合、コードをどのように作成すればよいですか?
テキストファイルを直接変更するようにしますか? または、特殊文字をカウントしない例外を作成しますか?