Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 19, 2013 12:47:41

Patrik
От:
Зарегистрирован: 2011-04-21
Сообщения: 70
Репутация: +  0  -
Профиль   Отправить e-mail  

Размер папки

Добрый день.
Подскажите, как в Python вывести размер содержимого папки?

Нашел os.path.getsize, но она может вывести размер файла в байтах. Размер папки выдает не верно.



Офлайн

#2 Авг. 19, 2013 12:54:47

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Размер папки

# -*- 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()



Офлайн

#3 Авг. 21, 2013 07:46:48

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Размер папки

Или так, но суть одна:

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))

..bw



Отредактировано bw (Авг. 21, 2013 07:47:59)

Офлайн

#4 Авг. 21, 2013 09:39:58

Patrik
От:
Зарегистрирован: 2011-04-21
Сообщения: 70
Репутация: +  0  -
Профиль   Отправить e-mail  

Размер папки

bw я раньше не встречал модуль functools, можешь пояснить как он работает в твоем примере?



Офлайн

#5 Авг. 21, 2013 11:38:23

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Размер папки

Patrik
bw я раньше не встречал модуль functools, можешь пояснить как он работает в твоем примере?

http://python.su/forum/topic/12316/?page=1#post-75838



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version