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

  • FlippinWindows | #1 Windows Tutorial Channel!

    FlippinWindo

    23 Mayıs 2010
  • Ordetta Price

    Ordetta Pric

    12 EYLÜL 2011
  • wwjoshdew

    wwjoshdew

    1 AĞUSTOS 2007