Я пытаюсь написать скрипт для подсчета количества слов во многих файлах в каталоге. У меня это работает довольно близко к тому, что я хочу, но есть одна часть, которая сбивает меня с толку. Код пока такой:
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 на следующей, а затем количество для тела текста.
Я ищу один счет для каждого файла. Любая помощь/направление приветствуется.
x = 0
, за которым следуетx += something
в том же цикле, вообще не имеет смысла. - person tokland   schedule 01.04.2012