Я пытаюсь написать сценарий для проверки количества слов во многих файлах в каталоге. У меня это работает довольно близко к тому, что я хочу, но есть одна часть, которая отталкивает меня. Код на данный момент:
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
И это повторяется для каждого файла в каталоге. Как видите, он дает мне несколько отсчетов для каждого файла. Файлы отформатированы как:
Обращение к целям администрации перед совместной сессией Конгресса
9 февраля 1989 г.
г. Спикер, господин президент, и уважаемые члены палаты и
Сенат ...
Итак, похоже, что скрипт подсчитывает каждую «часть» файла, такую как 10 слов в первой строке, 0 в конце строки, 3 в следующей, 0 в следующей, а затем подсчитать для тела текста.
То, что я ищу, это один счетчик для каждого файла. Любая помощь / направление приветствуется.