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

  • Art Food Kitty - Kelly Eddington

    Art Food Kit

    7 Kasım 2006
  • Jon Reed

    Jon Reed

    14 AĞUSTOS 2006
  • WoodysGamertag

    WoodysGamert

    17 Aralık 2009