我正在尝试编写一个脚本来提取目录中许多文件的字数。我让它的工作非常接近我想要的,但有一个部分让我失望。到目前为止的代码是:
import glob
directory = "/Users/.../.../files/*"
output = "/Users/.../.../output.txt"
filepath = glob.glob(directory)
def wordCount(filepath):
for file in filepath:
name = file
fileO = open(file, 'r')
for line in fileO:
sentences = 0
sentences += line.count('.') + line.count('!') + line.count('?')
tempwords = line.split()
words = 0
words += len(tempwords)
outputO = open(output, "a")
outputO.write("Name: " + name + "\n" + "Words: " + str(words) + "\n")
wordCount(filepath)
这会将字数写入一个名为“output.txt”的文件,并给出如下所示的输出:
Name: /Users/..../..../files/Bush1989.02.9.txt
Words: 10
Name: /Users/..../..../files/Bush1989.02.9.txt
Words: 0
Name: /Users/..../..../files/Bush1989.02.9.txt
Words: 3
Name: /Users/..../..../files/Bush1989.02.9.txt
Words: 0
Name: /Users/..../..../files/Bush1989.02.9.txt
Words: 4821
这对目录中的每个文件重复。如您所见,它为每个文件提供了多个计数。文件格式如下:
国会联席会议前关于行政目标的讲话
1989 年 2 月 9 日
议长先生,总统先生,以及尊敬的参众两院议员……
所以,脚本似乎给了我文件的每个“部分”的计数,例如第一行的 10 个单词,换行符为 0,下一个为 3,下一个为 0,然后计算文本的主体。
我正在寻找的是每个文件的单一计数。任何帮助/方向表示赞赏。