我必须创建一个名为processFiles的函数,该函数将字符串列表(文件名列表)作为参数。该功能应在每行打开文件名列表中所有文件的总单词数,并在下一行打开每个文件的平均单词数。
关于我什至从哪里开始,我完全感到困惑。这就是我要做的(这只是一个例子):
文件名列表等于['input1.txt','input2.txt','input3.txt']
上述文件包含以下信息:
imput1.txt包含单词“棕色狐狸” input2.txt包含跳过的单词 input3.txt包含“懒狗”一词
您的函数应打印: 总共9个字 平均3个单词
答案 0 :(得分:0)
例如,您可以这样做:
JsonArray
首先,您必须阅读列表中提供的每个文件
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)
函数读取其行readlines()
分隔行来计算单词的长度enumerate()
来跟踪索引)示例输出:
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