SORU
8 EYLÜL 2009, Salı


Dizin boyutu kullanarak hesaplama Python?

Ben yeniden icat bu özel tekerlek önce, kimseye bir dizin Python kullanarak boyutunu hesaplamak için iyi bir rutini var mı? Eğer rutin biçim boyutu güzel Mb/Gb gibi olsaydı çok iyi olurdu.

CEVAP
8 EYLÜL 2009, Salı


Bu kapmak alt dizinler:

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

Ve eğlenmek için bir oneliner os.listdir kullanarakAlt dizinleri içermez):

sum(os.path.getsize(f) for f in os.listdir('.') if os.path.isfile(f))

Referans:

os.path.getsize - bayt cinsinden boyutunu Verir

os.walk

Güncellendi Kullanmak içinos.yol.getsizebu işletim sistemi kullanarak daha net bir şekilde görülüyor.() stat.st_size yöntemi.

Bu işaret için ghostdog74 için teşekkürler!

os.stat -st_sizeVerir bayt cinsinden boyutu. Ayrıca dosya boyutunu almak için kullanılan ve diğer ilgili bilgi dosyası.

Güncelleme 2015

scandir ve os.walk Bu yöntem, daha hızlı olabilir. Bir paket pypi edinilebilir, ve os.scandir() 3.5 python dahil edilecek

https://pypi.python.org/pypi/scandir

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jkimisyellow...ish

    jkimisyellow

    8 Temmuz 2009
  • NikkoNantone

    NikkoNantone

    21 Kasım 2011
  • Warner Bros. UK

    Warner Bros.

    6 HAZİRAN 2008