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在Windows8下获取本机ip地址的方法
Mar 14 Python
用Python实现KNN分类算法
Dec 22 Python
Python中optparser库用法实例详解
Jan 26 Python
Django权限机制实现代码详解
Feb 05 Python
Python使用matplotlib实现基础绘图功能示例
Jul 03 Python
python实现多进程通信实例分析
Sep 01 Python
在notepad++中实现直接运行python代码
Dec 18 Python
python实现低通滤波器代码
Feb 26 Python
python 工具 字符串转numpy浮点数组的实现
Mar 14 Python
解决PyCharm无法使用lxml库的问题(图解)
Dec 22 Python
使用python求解迷宫问题的三种实现方法
Mar 17 Python
Django框架中视图的用法
Jun 10 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实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
mysql_connect localhost和127.0.0.1的区别(网络层阐述)
2015/03/26 PHP
php统计数组元素个数的方法
2015/07/02 PHP
php for 循环使用的简单实例
2016/06/02 PHP
javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
2010/01/15 Javascript
js弹出div并显示遮罩层
2014/02/12 Javascript
javascript日期格式化示例分享
2014/03/05 Javascript
使用JavaScript和C#中获得referer
2014/11/14 Javascript
javascript实现验证身份证号的有效性并提示
2015/04/30 Javascript
基于javascript制作微博发布栏效果
2016/04/04 Javascript
异步加载JS、CSS代码(推荐)
2016/06/15 Javascript
AngularJS应用开发思维之依赖注入3
2016/08/19 Javascript
JS实现控制图片显示大小的方法【图片等比例缩放功能】
2017/02/18 Javascript
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
详解Koa中更方便简单发送响应的方式
2018/07/20 Javascript
详解vuejs2.0 select 动态绑定下拉框支持多选
2019/04/25 Javascript
vue element-ui读取pdf文件的方法
2019/11/26 Javascript
Openlayers显示瓦片网格信息的方法
2020/09/28 Javascript
[39:00]Optic vs VP 2018国际邀请赛淘汰赛BO3 第三场 8.24
2018/08/25 DOTA
详解Python当中的字符串和编码
2015/04/25 Python
Python如何读取MySQL数据库表数据
2017/03/11 Python
python select.select模块通信全过程解析
2017/09/20 Python
详解python中Numpy的属性与创建矩阵
2018/09/10 Python
django 信号调度机制详解
2019/07/19 Python
Django接收自定义http header过程详解
2019/08/23 Python
python的slice notation的特殊用法详解
2019/12/27 Python
python利用JMeter测试Tornado的多线程
2020/01/12 Python
Python-for循环的内部机制
2020/06/12 Python
Python 抓取数据存储到Redis中的操作
2020/07/16 Python
Python+Appium实现自动化清理微信僵尸好友的方法
2021/02/04 Python
日本酒店、民宿、温泉旅馆、当地旅行团中文预订:e路东瀛
2019/12/09 全球购物
如何设置Java的运行环境
2013/04/05 面试题
法定代表人授权委托书
2014/04/04 职场文书
电焊工岗位工作职责
2014/07/09 职场文书
毕业实习计划书
2015/01/16 职场文书
指导老师鉴定意见
2015/06/05 职场文书