如何打开和查找文件中的单词数以及不同txt文件中的字符串列表

时间:2018-11-04 11:38:39

标签: python jupyter-notebook moodle

我必须创建一个名为processFiles的函数,该函数将字符串列表(文件名列表)作为参数。该功能应在每行打开文件名列表中所有文件的总单词数,并在下一行打开每个文件的平均单词数。

关于我什至从哪里开始,我完全感到困惑。这就是我要做的(这只是一个例子):

文件名列表等于['input1.txt','input2.txt','input3.txt']

上述文件包含以下信息:

imput1.txt包含单词“棕色狐狸” input2.txt包含跳过的单词 input3.txt包含“懒狗”一词

您的函数应打印: 总共9个字 平均3个单词

2 个答案:

答案 0 :(得分:0)

例如,您可以这样做:

JsonArray

首先,您必须阅读列表中提供的每个文件

  1. 对于每个文件,使用files = ["foo.txt", "bar.txt"] def proces_files(files): for f in files: print("Processing file {0:s}".format(f)) with open(f, "r") as f: content = f.readlines() total = 0 for index, line in enumerate(content): words = line.split(" ") total += len(words) print( "Total number of words: {0:d} in line {1:d}".format( len(words), index + 1, ) ) avg = (total / len(content)) print("Average quantity of words per line {0:d}".format(avg)) proces_files(files) 函数读取其行
  2. 对于每行,通过用行readlines()分隔行来计算单词的长度
  3. 打印单词数及其所在的行(使用enumerate()来跟踪索引)
  4. 增加单词总数
  5. 计算并打印平均值
  6. 下一次迭代

示例输出:

split(" ")

答案 1 :(得分:0)

因此,您可以读取所有文件并将其内容附加到列表中。然后评估列表中的单词数。

files = ['input1.txt', 'input2.txt', 'input3.txt]
l = []
num_files = 0;
for file in files:
    with open(file) as f:
        l.append(f.readlines())
        num_files += 1

num_of_words = len(str(l).split())
print(num_of_words)
avg = num_of_words/num_files     //average