Добрый день.
Подскажите, как в Python вывести размер содержимого папки?
Нашел os.path.getsize, но она может вывести размер файла в байтах. Размер папки выдает не верно.
# -*- coding:utf-8 -*- import os def get_size(start_path = '.'): total_size = 0 for dirpath, dirnames, filenames in os.walk(start_path): for f in filenames: fp = os.path.join(dirpath, f) total_size += os.path.getsize(fp) return total_size print get_size()
import os import functools as F def collect_files(files, dirname, fnames): files += map(F.partial(os.path.join, dirname), fnames) files = [] os.path.walk('/tmp', collect_files, files) total_size = sum(map(os.path.getsize, files))
Patrik
bw я раньше не встречал модуль functools, можешь пояснить как он работает в твоем примере?