Python实现获取磁盘剩余空间的2种方法

发布时间 - 2026-01-11 01:46:38    点击率:

本文实例讲述了Python实现获取磁盘剩余空间的2种方法。分享给大家供大家参考,具体如下:

方法1:

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
print(get_free_space_mb('C:\\'),'GB')

方法2:

import win32com.client as com
def TotalSize(drive):
  """ Return the TotalSize of a shared drive [GB]"""
  try:
    fso = com.Dispatch("Scripting.FileSystemObject")
    drv = fso.GetDrive(drive)
    return drv.TotalSize/2**30
  except:
    return 0
def FreeSpace(drive):
  """ Return the FreeSpace of a shared drive [GB]"""
  try:
    fso = com.Dispatch("Scripting.FileSystemObject")
    drv = fso.GetDrive(drive)
    return drv.FreeSpace/2**30
  except:
    return 0
workstations = ['dolphins']
print ('Hard drive sizes:')
for compName in workstations:
  drive = '\\\\' + compName + '\\c$'
  print ('*************************************************\n')
  print (compName)
  print ('TotalSize of %s = %f GB' % (drive, TotalSize(drive)))
  print ('FreeSpace on %s = %f GB' % (drive, FreeSpace(drive)))
  print ('*************************************************\n')

运行效果如下图:

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。


# Python  # 获取  # 磁盘  # 剩余空间  # 用python监控服务器的cpu  # 磁盘空间  # 内存  # 超过邮件报警  # python实现磁盘日志清理的示例  # python获取磁盘号下盘符步骤详解  # 使用python获取电脑的磁盘信息方法  # python3实现磁盘空间监控  # python3监控CentOS磁盘空间脚本  # 磁盘垃圾文件清理器python代码实现  # Linux 发邮件磁盘空间监控(python)  # Python实现测试磁盘性能的方法  # python 遍历磁盘目录的三种方法  # 操作技巧  # 进阶  # 相关内容  # 感兴趣  # 数据结构  # 给大家  # 种方法  # 更多关于  # 所述  # 程序设计  # 使用技巧  # 如下图  # 编程技巧  # 讲述了  # Return  # drive  # free  # def  # get_free_space_mb  # folder 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何生成API文档?(Swagger/OpenAPI教程)  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  iOS正则表达式验证手机号、邮箱、身份证号等  如何快速生成可下载的建站源码工具?  Laravel如何使用Livewire构建动态组件?(入门代码)  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  香港服务器WordPress建站指南:SEO优化与高效部署策略  如何在不使用负向后查找的情况下匹配特定条件前的换行符  Laravel如何使用Blade模板引擎?(完整语法和示例)  微信小程序 五星评分(包括半颗星评分)实例代码  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  详解vue.js组件化开发实践  简单实现Android验证码  佛山企业网站制作公司有哪些,沟通100网上服务官网?  如何挑选最适合建站的高性能VPS主机?  如何快速搭建高效香港服务器网站?  如何用低价快速搭建高质量网站?  Laravel如何创建自定义Facades?(详细步骤)  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  大连 网站制作,大连天途有线官网?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  js实现获取鼠标当前的位置  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  实例解析angularjs的filter过滤器  如何在阿里云虚拟主机上快速搭建个人网站?  Python图片处理进阶教程_Pillow滤镜与图像增强  iOS验证手机号的正则表达式  如何彻底删除建站之星生成的Banner?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  免费视频制作网站,更新又快又好的免费电影网站?  如何在Windows 2008云服务器安全搭建网站?  Laravel storage目录权限问题_Laravel文件写入权限设置  使用C语言编写圣诞表白程序  移动端脚本框架Hammer.js  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  网站建设整体流程解析,建站其实很容易!  如何实现建站之星域名转发设置?  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  Android实现代码画虚线边框背景效果  微信小程序 闭包写法详细介绍  Bootstrap CSS布局之列表  Laravel如何实现API速率限制?(Rate Limiting教程)  android nfc常用标签读取总结