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
如何使用Python从txt文件中删除特殊字符
的问题,例如,该代码识别code
code.
和code!
不同字的数量。所以,这不可能是一个确切数量的独特单词的答案。
我想从使用Windows的文本编辑器
42个文本文件中删除特殊字符或作出这样的解决这一问题的例外规则。
如果使用后者,我该如何编写我的代码?
让它直接修改文本文件?或者做一个不包括特殊字符的例外?
[如何在SO上格式化代码](http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks) – Levon 2012-08-10 12:51:29
你可以做set()而不是set([]) – Lanaru 2012-08-10 12:58:32