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检测远程服务器tcp端口的方法
Mar 14 Python
Python聚类算法之凝聚层次聚类实例分析
Nov 20 Python
python黑魔法之参数传递
Feb 12 Python
对python使用http、https代理的实例讲解
May 07 Python
Pycharm取消py脚本中SQL识别的方法
Nov 29 Python
详解pandas安装若干异常及解决方案总结
Jan 10 Python
python编程进阶之异常处理用法实例分析
Feb 21 Python
jupyter notebook运行命令显示[*](解决办法)
May 18 Python
Django中和时区相关的安全问题详解
Oct 12 Python
教你怎么用Python实现GIF动图的提取及合成
Jun 15 Python
Pyqt5将多个类组合在一个界面显示的完整示例
Sep 04 Python
Python 实现Mac 屏幕截图详解
Oct 05 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/03 日漫
使用PHPMyAdmin修复论坛数据库的图文方法
2012/01/09 PHP
php设置允许大文件上传示例代码
2014/03/10 PHP
PHP小教程之实现链表
2014/06/09 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
PDO::lastInsertId讲解
2019/01/29 PHP
tp5.1 框架数据库高级查询技巧实例总结
2020/05/25 PHP
ajax 缓存 问题 requestheader
2010/08/01 Javascript
js拦截alert对话框另类应用
2013/01/16 Javascript
jQuery仿Excel表格编辑功能的实现代码
2013/05/01 Javascript
jQuery 借助插件Lavalamp实现导航条动态美化效果
2013/09/27 Javascript
jquery提交form表单简单示例分享
2014/03/03 Javascript
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
如何用JavaScript定义一个类
2014/09/12 Javascript
jquery ajax 如何向jsp提交表单数据
2015/08/23 Javascript
AngularJS操作键值对象类似java的hashmap(填坑小结)
2016/11/12 Javascript
koa socket即时通讯的示例代码
2018/09/07 Javascript
jQuery 点击获取验证码按钮及倒计时功能
2018/09/20 jQuery
node.js ws模块搭建websocket服务端的方法示例
2019/04/25 Javascript
微信小程序自定义菜单切换栏tabbar组件代码实例
2019/12/30 Javascript
小程序按钮避免多次调用接口和点击方案实现(不用showLoading)
2020/04/15 Javascript
vue webpack build资源相对路径的问题及解决方法
2020/06/04 Javascript
[01:02:04]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
Python使用openpyxl读写excel文件的方法
2017/06/30 Python
对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
2018/07/11 Python
便捷提取python导入包的属性方法
2018/10/15 Python
属性与 @property 方法让你的python更高效
2020/09/21 Python
python3代码输出嵌套式对象实例详解
2020/12/03 Python
印度领先的在线时尚商店:Koovs
2016/08/28 全球购物
无工作经验者个人求职信范文
2013/12/22 职场文书
贯彻学习两会心得体会范文
2014/03/17 职场文书
寄语是什么意思
2014/04/10 职场文书
婚纱摄影师求职信范文
2014/04/17 职场文书
组工干部对照检查材料
2014/08/25 职场文书
环境保护宣传标语大全!
2019/06/28 职场文书
nginx 反向代理之 proxy_pass的实现
2021/03/31 Servers