Python实现获取磁盘剩余空间的2种方法
作者:天飞 发布时间:2023-11-20 23:53:29
标签:Python,磁盘
本文实例讲述了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程序设计有所帮助。


猜你喜欢
- 列表生成式基础语法[exp for iter_var in iterable (if conditional)]原理:首先迭代 iterab
- 一、概述一个gRPC服务的大体结构图为:图一表明,grpc的服务是跨语言的,但需要遵循相同的协议(proto)。相比于REST服务,gPRC
- c#连接sqlserver、插入数据、从数据库获取时间using System;using System.Data.SqlClient;na
- 方法一【推荐】、用js插入flash,可防止虚线框激活建立一个ShowFlash.js文件,拷贝以下代码:function sho
- 本月第一天日期SELECT FirstDayOfCurrentMonth = dateadd(mm,datediff(mm,0,getdat
- 这里其实并不需要其它的什么函数来支持,只需要使用MYSQL提供的一些SQL语句就可以了。这里为了简单起见,以MYSQL的系统表USER为例,
- 前言H2数据库是一个开源的关系型数据库。H2采用java语言编写,不受平台的限制,同时支持网络版和嵌入式版本,有比较好的兼容性,支持相当标准
- 如下所示:#求一个数的最大约数(不算本身)def getmaxnum(n): num = n //2 while n
- 请问如何在Oracle Setver端检测ODBC是否连接好了?首先,在SQLPLUS安装时勾选oracle open client ada
- 神经网络一般用GPU来跑,我们的神经网络框架一般也都安装的GPU版本,本文就简单记录一下GPU使用的编写。GPU的设置不在model,而是在
- 主要用于对字符串的加密,最常用的为MD5加密:import hashlibdef get_md5(data): obj = ha
- 人脸识别正在成为软件开发中的一种趋势。它有助于识别人脸并使应用程序更加健壮。在本教程中,我们将使用python和face_recogniti
- 获取nc数据的相关信息from netCDF4 import Datasetimport numpy as npimport pandas
- 这里批量处理word文档的操作主要是通过python-docx非标准库实现的,通过定位到文档对象、再到段落、最后到一行文本从而完成针对文字对
- 记录下如何远程使用服务器上的jupyter notebook。主要是在服务器端执行以下操作:激活需要使用的环境使用pip list 或con
- 一、断点续传原理所谓断点续传,也就是要从文件已经下载的地方开始继续下载。在以前版本的 HTTP 协议是不支持断点的,HTTP/1.1 开始就
- 本文实例讲述了JavaScript设计模式之模板方法模式原理与用法。分享给大家供大家参考,具体如下:一、模板方法模式:一种只需使用继承就可以
- 在python中,提到如何计算多维数组和矩阵,那一定会想到numpy。numpy定义了矩阵和数组,为它们提供了相关的运算。size中文解释为
- 本文实例讲述了Python进程间通信用法。分享给大家供大家参考。具体如下:#!/usr/bin/env python# -*- coding