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


Posted in Python onJune 07, 2017

本文实例讲述了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实现获取磁盘剩余空间的2种方法

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

Python 相关文章推荐
Python找出9个连续的空闲端口
Feb 01 Python
Python对文件操作知识汇总
May 15 Python
Python原始字符串与Unicode字符串操作符用法实例分析
Jul 22 Python
Python调用C# Com dll组件实战教程
Oct 12 Python
Python实现读取json文件到excel表
Nov 18 Python
python方法生成txt标签文件的实例代码
May 10 Python
pandas筛选某列出现编码错误的解决方法
Nov 07 Python
浅谈Python在pycharm中的调试(debug)
Nov 29 Python
Python代理IP爬虫的新手使用教程
Sep 05 Python
pytorch 模拟关系拟合——回归实例
Jan 14 Python
python实现横向拼接图片
Mar 23 Python
python tkinter的消息框模块(messagebox,simpledialog)
Nov 07 Python
Python2.7基于淘宝接口获取IP地址所在地理位置的方法【测试可用】
Jun 07 #Python
Python中音频处理库pydub的使用教程
Jun 07 #Python
python中defaultdict的用法详解
Jun 07 #Python
浅谈numpy中linspace的用法 (等差数列创建函数)
Jun 07 #Python
python面向对象_详谈类的继承与方法的重载
Jun 07 #Python
windows下python连接oracle数据库
Jun 07 #Python
Python使用剪切板的方法
Jun 06 #Python
You might like
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
做一个有下拉功能的留言版
2006/10/09 PHP
兼容性比较好的PHP生成缩略图的代码
2011/01/12 PHP
PHP整合七牛实现上传文件
2015/07/03 PHP
提交表单后 PHP获取提交内容的实现方法
2016/05/25 PHP
Yii2框架使用计划任务的方法
2016/05/25 PHP
jQuery 全选效果实现代码
2009/03/23 Javascript
js读写(删除)Cookie实例详解
2013/04/17 Javascript
JavaScript中prototype为对象添加属性的误区介绍
2013/10/15 Javascript
JavaScript中的类(Class)详细介绍
2014/12/30 Javascript
JavaScript返回0-1之间随机数的方法
2015/04/06 Javascript
再JavaScript的jQuery库中编写动画效果的指南
2015/08/13 Javascript
7个jQuery最佳实践
2016/01/12 Javascript
JS 终止执行的实现方法
2016/11/24 Javascript
js实现放大镜特效
2017/05/18 Javascript
JS实现unicode和UTF-8之间的互相转换互转
2017/07/05 Javascript
vue使用vue-cli快速创建工程
2017/07/28 Javascript
解决vue-cli脚手架打包后vendor文件过大的问题
2018/09/27 Javascript
从0搭建vue-cli4脚手架
2020/06/17 Javascript
[02:07]DOTA2超级联赛专访BBC:难忘网吧超神经历
2013/06/09 DOTA
[01:32]2014DOTA2西雅图邀请赛 CIS我们有信心进入正赛
2014/07/08 DOTA
[00:48]DOTA2国际邀请赛公开赛报名开始 扫码开启逐梦之旅
2018/06/06 DOTA
详解Python中列表和元祖的使用方法
2015/04/25 Python
python实现人人自动回复、抢沙发功能
2018/06/08 Python
使用Python实现企业微信的自动打卡功能
2019/04/30 Python
python实现植物大战僵尸游戏实例代码
2019/06/10 Python
Python容器使用的5个技巧和2个误区总结
2019/09/26 Python
Python模块/包/库安装的六种方法及区别
2020/02/24 Python
Python基于opencv的简单图像轮廓形状识别(全网最简单最少代码)
2021/01/28 Python
香港永安旅游网:Wing On Travel
2017/04/10 全球购物
怎样在程序里获得一个空指针
2015/01/24 面试题
评析教师个人的自我评价
2014/02/19 职场文书
教室布置标语
2014/06/26 职场文书
暑期社会实践证明书
2014/11/17 职场文书
西湖英语导游词
2015/02/06 职场文书
2016党员干部廉洁自律心得体会
2016/01/13 职场文书