我有一個函數可以查找平均字符串長度。現在我試圖編寫一個函數來遍歷並觸摸目錄中的每個txt文件,並返回文件的最高均值。我現在所擁有的東西似乎沒有正確穿越。 Pleeease的幫助。謝謝。Python - 文件夾中所有文件的平均長度函數
from __future__ import print_function
import os
def mean_length(file path):
length = 0.0
line_num = 0
with open(filepath) as f:
for line in f:
if line.strip():
length += len(line.strip())
line_num += 1
return length/line_num
def highest_mean():
max_mean = 0
max_name = ""
filepath = open("Desktop/Textfiles/moby.txt")
for root, dirs, files in os.walk("Desktop/Textfiles"):
for filename in files:
if filename.endswith('.txt'):
filepath = os.path.join(root, filename)
if mean_length(filepath) > max_mean:
max_name = filename
max_mean = mean_length(filepath)
return max_name
你似乎有在files'迴環文件的額外' ,if'file.endswith('。txt')'後面的那個似乎是虛假的。 – AChampion
爲什麼你在函數highest_mean中的if後重新遍歷所有文件? – Amit
啊,我的錯。但是,即使沒有額外的for循環,該函數仍然不起作用。還有什麼你看到錯誤的嗎? –