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

  • circuschina

    circuschina

    16 Mart 2007
  • Jack Vale Films

    Jack Vale Fi

    8 ŞUBAT 2007
  • TecnoTutosPC

    TecnoTutosPC

    19 Kasım 2012