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

  • BigDawsTv

    BigDawsTv

    20 HAZİRAN 2012
  • Kenneth Håkonsen

    Kenneth Håk

    13 Mart 2011
  • TecnoTutosPC

    TecnoTutosPC

    19 Kasım 2012