Как запустить скрипт для всех файлов в каталоге? - PullRequest
0 голосов
/ 09 января 2020

У меня есть скрипт, который выполняет базовую c очистку текста и токенизацию, а затем подсчет и сортировку частоты слов. Я могу заставить скрипт работать с отдельными файлами, но мне нужна помощь для его реализации во всем каталоге. Короче говоря, я хотел бы использовать этот код для подсчета частоты глобальных слов во всем каталоге (не возвращать отдельные значения для каждого файла).

Вот мой код:

import re
import string
from collections import Counter

file = open("german/test/polarity/positive/0.txt", mode="r", encoding="utf-8")
read_file = file.read()

#remove punctuation
translation = str.maketrans("","", string.punctuation)
stripped_file = read_file.translate(translation)

##lowercase
file_clean = stripped_file.lower()

##tokenize
file_tokens = file_clean.split()

##word count and sort
def word_count(file_tokens):
    for word in file_tokens:
        count = Counter(file_tokens)
    return count

print(word_count(file_tokens))

Ответы [ 2 ]

1 голос
/ 09 января 2020

Вы, вероятно, ищете os.walk () .

Переместите свой код в функцию, а затем используйте

for subdir, dirs, files in os.walk(rootdir):
    for file in files:

для вызова функции на каждый файл

0 голосов
/ 09 января 2020

Для Python => 3,6 * os


directory = os.fsencode(directory_in_str)

for file in os.listdir(directory):
     filename = os.fsdecode(file)
     if filename.endswith(".txt"): 
         # print(os.path.join(directory, filename))
         continue
     else:
         continue

См. Здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...