Боюсь, ваш вопрос не очень понятен, но, думаю, вы хотите что-то вроде
import os
N = 6
# P = 10 # ????
def calculate_output(N, P):
output = []
for i in range(N):
dirname = "./Folder00" + str(i+1)
for filename in os.listdir(dirname):
probsum = 0
if filename.endswith(".csv"):
with open(os.path.join(dirname, filename) as csv:
for line in csv:
pass
# line now contains last line
probsum += int(line.rstrip('\n').split(',')[-1])
output.append(probsum)
return output
Если у вас есть 10 CSV-файлов в каждой папке, тогда вам действительно не нужен параметр P; но я не совсем уверен, что правильно угадал, что ваш код должен делать здесь. Выше просто берет последнее разделенное запятыми поле из последней строки в каждом файле, и преобразует из строки в число. Функция возвращает список сумм номеров из каждой папки.
Если файлы огромные, возможно, стоит взглянуть на оптимизацию логики извлечения последней строки. Если вы знаете или можете разумно догадаться, какой длины может быть последняя строка, найдите в конце файла столько байтов; см. например Получить последние n строк файла с Python, аналогично tail
Если формат CSV имеет такие сложности, как поля в кавычках, используйте csvreader
вместо попытки просто разделить запятую.