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之玩转字符串(2)更新篇
Sep 28 Python
基于Python如何使用AIML搭建聊天机器人
Jan 27 Python
Python按行读取文件的实现方法【小文件和大文件读取】
Sep 19 Python
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
Apr 26 Python
windows下添加Python环境变量的方法汇总
May 14 Python
分享vim python缩进等一些配置
Jul 02 Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
Sep 04 Python
Python函数any()和all()的用法及区别介绍
Sep 14 Python
Python openpyxl 遍历所有sheet 查找特定字符串的方法
Dec 10 Python
在Python中字典根据多项规则排序的方法
Jan 21 Python
python对 MySQL 数据库进行增删改查的脚本
Oct 22 Python
Python中zipfile压缩包模块的使用
May 14 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
thinkphp中html:list标签传递多个参数实例
2014/10/30 PHP
php发送短信验证码完成注册功能
2015/11/24 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
setTimeout与setInterval在不同浏览器下的差异
2010/01/24 Javascript
jquery 操作DOM案例代码分享
2012/04/05 Javascript
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
jquery插件制作 表单验证实现代码
2012/08/17 Javascript
使用jquery的ajax需要注意的地方dataType的设置
2013/08/12 Javascript
node.js中的buffer.copy方法使用说明
2014/12/14 Javascript
javascript中数组和字符串的方法对比
2016/07/20 Javascript
Actionscript与javascript交互实例程序(修改)
2016/09/22 Javascript
mvc 、bootstrap 结合分布式图简单实现分页
2016/10/10 Javascript
详解JS-- 浮点数运算处理
2016/11/28 Javascript
浅析jsopn跨域请求原理及cors(跨域资源共享)的完美解决方法
2017/02/06 Javascript
jQuery中layer分页器的使用
2017/03/13 Javascript
详谈js模块化规范
2017/07/07 Javascript
随机生成10个不重复的0-100的数字(实例讲解)
2017/08/16 Javascript
jQuery实现简单的回到顶部totop功能示例
2017/10/16 jQuery
搭建element-ui的Vue前端工程操作实例
2018/02/23 Javascript
vue的全局提示框组件实例代码
2018/02/26 Javascript
使用vue点击li,获取当前点击li父辈元素的属性值方法
2018/09/12 Javascript
JS使用cookie保存用户登录信息操作示例
2019/05/30 Javascript
js 数据类型判断的方法
2020/12/03 Javascript
Vue3 实现双盒子定位Overlay的示例
2020/12/22 Vue.js
python实现文本去重且不打乱原本顺序
2016/01/26 Python
python matplotlib坐标轴设置的方法
2017/12/05 Python
Python文本特征抽取与向量化算法学习
2017/12/22 Python
python多维数组切片方法
2018/04/13 Python
python实现QQ批量登录功能
2019/06/19 Python
python+opencv实现车牌定位功能(实例代码)
2019/12/24 Python
Python中用pyinstaller打包时的图标问题及解决方法
2020/02/17 Python
Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
2020/10/22 Python
超市开业庆典策划方案
2014/05/14 职场文书
主持人开幕词
2015/01/29 职场文书
2015年语文教研组工作总结
2015/05/23 职场文书
使用JS实现简易计算器
2021/06/14 Javascript