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

  • AceHoodVEVO

    AceHoodVEVO

    12 Mayıs 2009
  • discokatze

    discokatze

    23 EYLÜL 2009
  • edwin maldonado

    edwin maldon

    28 Mart 2009