SORU
9 EYLÜL 2008, Salı


Çapraz platform alanı birimde kalan python kullanarak

İhtiyacım olan bir yol belirlemek için boşluk kalan bir disk bölümünü kullanarak python linux, Windows ve OS X. ben şu anda ayrıştırma çıktı çeşitli sistem çağrıları (df, dir) bunu yapmak için - orada daha iyi bir yol?

CEVAP
3 Mart 2010, ÇARŞAMBA


import ctypes
import os
import platform
import sys

def get_free_space_mb(dirname):
    """Return folder/drive free space (in megabytes)."""
    if platform.system() == 'Windows':
        free_bytes = ctypes.c_ulonglong(0)
        ctypes.windll.kernel32.GetDiskFreeSpaceExW(ctypes.c_wchar_p(dirname), None, None, ctypes.pointer(free_bytes))
        return free_bytes.value / 1024 / 1024
    else:
        st = os.statvfs(dirname)
        return st.f_bavail * st.f_frsize / 1024 / 1024

UnutmayıngerekirGetDiskFreeSpaceEx() için bir dizin adı işe pass (Her iki dosya ve dizinleristatvfs() çalışır). Bir dizin adı alabilirsiniz os.path.dirname() ile bir dosyadan.

Ayrıca os.statvfs() GetDiskFreeSpaceEx belgelerine bakın.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • A Alkhaldi

    A Alkhaldi

    12 Mayıs 2007
  • John Lynn

    John Lynn

    8 Ocak 2010
  • Shaollin Animes

    Shaollin Ani

    19 HAZİRAN 2013