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学习笔记 下载
Feb 10 Python
python入门基础之用户输入与模块初认识
Nov 14 Python
python实现上传下载文件功能
Nov 19 Python
Python实现求一个集合所有子集的示例
May 04 Python
PyTorch线性回归和逻辑回归实战示例
May 22 Python
[原创]Python入门教程1. 基本运算【四则运算、变量、math模块等】
Oct 28 Python
python判断计算机是否有网络连接的实例
Dec 15 Python
Win10环境python3.7安装dlib模块趟过的坑
Aug 01 Python
Python 中list ,set,dict的大规模查找效率对比详解
Oct 11 Python
解决tensorboard多个events文件显示紊乱的问题
Feb 15 Python
Python并发编程实例教程之线程的玩法
Jun 20 Python
Python中的 No Module named ***问题及解决
Jul 23 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
用PHP制作静态网站的模板框架(三)
2006/10/09 PHP
一些关于PHP的知识
2006/11/17 PHP
smarty中先strip_tags过滤html标签后truncate截取文章运用
2010/10/25 PHP
有道搜索和IP138的IP的API接口(PHP应用)
2012/11/29 PHP
关于Zend Studio 配色方案插件的介绍
2013/06/24 PHP
PHP中Session和Cookie是如何操作的
2015/10/10 PHP
php限制文件下载速度的代码
2015/10/20 PHP
PHP中strcmp()和strcasecmp()函数字符串比较用法分析
2016/01/07 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
PHP调试及性能分析工具Xdebug详解
2017/02/09 PHP
php实现简单四则运算器
2020/11/29 PHP
JS 容错处理代码, 屏蔽错误信息
2021/03/09 Javascript
JScript中使用ADODB.Stream判断文件编码的代码
2008/06/09 Javascript
javascript DOM编程实例(智播客学习)
2009/11/23 Javascript
两个listbox实现选项的添加删除和搜索
2013/03/01 Javascript
JavaScript易错知识点整理
2016/12/05 Javascript
webpack4 css打包压缩问题的解决
2018/05/18 Javascript
解决layui的input独占一行的问题
2019/09/10 Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
2019/11/11 Javascript
[53:52]OG vs EG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python 绘图库 Matplotlib 入门教程
2018/04/19 Python
删除DataFrame中值全为NaN或者包含有NaN的列或行方法
2018/11/06 Python
python 2.7 检测一个网页是否能正常访问的方法
2018/12/26 Python
微信公众号token验证失败解决方案
2019/07/22 Python
django基于restframework的CBV封装详解
2019/08/08 Python
对pytorch中的梯度更新方法详解
2019/08/20 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
2020/02/05 Python
anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)
2021/02/01 Python
html5 兼容IE6结构的实现代码
2012/05/14 HTML / CSS
html5的input的required使用中遇到的问题及解决方法
2018/04/24 HTML / CSS
ORACLE十问
2015/04/20 面试题
学校介绍信范文
2014/01/14 职场文书
基层干部十八大感言
2014/01/19 职场文书
村主任群众路线个人对照检查材料
2014/09/26 职场文书
2015年学校综合治理工作总结
2015/07/20 职场文书
2019年学校消防安全责任书(2篇)
2019/10/09 职场文书