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

  • Alexander Johnson

    Alexander Jo

    26 Temmuz 2008
  • InfoPuppet

    InfoPuppet

    15 Kasım 2011
  • MrSuicideSheep

    MrSuicideShe

    9 NİSAN 2010