Python获取指定文件夹大小及检测磁盘剩余空间的方法
本文介绍如何使用Python检测指定路径下所有文件占用的存储空间,并获取磁盘剩余空间大小。通过os.walk遍历文件计算容量,利用os.statvfs或ctypes库实现跨平台(Windows与Unix/Linux)的磁盘空间查询,适用于系统监控与资源管理场景。
首先介绍如何计算指定路径下所有文件所占用的存储空间。
import os def check_memory(path, style='M'): i = 0 for dirpath, dirname, filename in os.walk(path): for ii in filename: i += os.path.getsize(os.path.join(dirpath,ii)) if style == 'M': memory = i / 1024. / 1024. print '%.2f MB' % memory else: memory = i / 1024. / 1024./ 1024. print '%.4f GB' % memory
接着介绍如何检测指定路径下的剩余储存空间大小。
import ctypes import os import platform import sys def get_free_space_mb(folder): """ Return folder/drive free space (in bytes) """ if platform.system() == 'Windows': free_bytes = ctypes.c_ulonglong(0) ctypes.windll.kernel32.GetDiskFreeSpaceExW(ctypes.c_wchar_p(folder), None, None, ctypes.pointer(free_bytes)) return free_bytes.value/1024/1024/1024 else: st = os.statvfs(folder) return st.f_bavail * st.f_frsize/1024/1024/1024.
需要注意的是,上述基于os.statvfs的方法仅适用于Unix类系统,在Windows系统中os模块不具备statvfs属性,因此需要采用其他方案。
def disk_stat(path):
import os
hd={}
disk = os.statvfs(path)
percent = (disk.f_blocks - disk.f_bfree) * 100 / (disk.f_blocks -disk.f_bfree + disk.f_bavail) + 1
return percent
print disk_stat('.')
以上关于Python检测储存空间剩余大小及指定文件夹内存占用的实例分享完毕,希望能为读者提供参考,并欢迎大家继续支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













