繁体   English   中英

如何对目录中的所有文件运行脚本?

[英]How to run a script on all files in a directory?

我有一个脚本可以进行一些基本的文本清理和标记化,然后对词频进行计数和排序。 我能够让脚本处理单个文件,但我需要帮助在整个目录上实现它。 简而言之,我想使用此代码来计算整个目录中的全局词频(而不是为每个文件返回单独的值)。

这是我的代码:

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))

您可能正在寻找os.walk()

将您的代码移动到一个函数中,然后使用

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

在每个文件上调用函数

对于 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

请看这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM