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 相关文章推荐
MySQLdb ImportError: libmysqlclient.so.18解决方法
Aug 21 Python
使用Python发送各种形式的邮件的方法汇总
Nov 09 Python
Python 实现淘宝秒杀的示例代码
Jan 02 Python
关于Tensorflow中的tf.train.batch函数的使用
Apr 24 Python
对python列表里的字典元素去重方法详解
Jan 21 Python
Python实现点阵字体读取与转换的方法
Jan 29 Python
Django获取应用下的所有models的例子
Aug 30 Python
Python帮你识破双11的套路
Nov 11 Python
python找出列表中大于某个阈值的数据段示例
Nov 24 Python
Python实现使用dir获取类的方法列表
Dec 24 Python
Python3.7黑帽编程之病毒篇(基础篇)
Feb 04 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
Aug 19 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
Zend引擎的发展 [15]
2006/10/09 PHP
PHP新手上路(九)
2006/10/09 PHP
ajax取消挂起请求的处理方法
2013/03/18 PHP
php5.2以下版本无json_decode函数的解决方法
2014/05/25 PHP
PHP实现简单汉字验证码
2015/07/28 PHP
Yii2中添加全局函数的方法分析
2017/05/04 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
2018/04/04 PHP
IE6弹出“已终止操作”的解决办法
2010/11/27 Javascript
jquery isType() 类型判断代码
2011/02/14 Javascript
40个有创意的jQuery图片、内容滑动及弹出插件收藏集之一
2011/12/31 Javascript
js编码之encodeURIComponent使用介绍(asp,php)
2012/03/01 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
js检测用户输入密码强度
2015/10/22 Javascript
Javascript中字符串replace方法的第二个参数探究
2016/12/05 Javascript
ES6解构赋值实例详解
2017/10/31 Javascript
Vue实现PopupWindow组件详解
2018/04/28 Javascript
在vue2.0中引用element-ui组件库的方法
2018/06/21 Javascript
vue中如何实现pdf文件预览的方法
2018/07/12 Javascript
在vue中安装使用vux的教程详解
2018/09/16 Javascript
基于ajax实现上传图片代码示例解析
2020/12/03 Javascript
pycharm 使用心得(五)断点调试
2014/06/06 Python
python类的继承实例详解
2017/03/30 Python
Python正则表达式常用函数总结
2017/06/24 Python
django ajax json的实例代码
2018/05/29 Python
基于python指定包的安装路径方法
2018/10/27 Python
elasticsearch python 查询的两种方法
2019/08/04 Python
使用matplotlib动态刷新指定曲线实例
2020/04/23 Python
VSCODE配置Markdown及Markdown基础语法详解
2021/01/19 Python
利用canvas实现图片压缩的示例代码
2018/07/17 HTML / CSS
Too Faced官网:美国知名彩妆品牌
2017/03/07 全球购物
优质的学校老师推荐信
2013/10/28 职场文书
松材线虫病防治方案
2014/06/15 职场文书
纪念九一八事变演讲稿:勿忘国耻
2014/09/14 职场文书
本科毕业论文致谢怎么写
2015/05/14 职场文书
《葡萄沟》教学反思
2016/02/23 职场文书
查看nginx配置文件路径和资源文件路径的方法
2021/03/31 Servers