From 6f0188238d830014d0e14dc776f124ecdb450501 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Tue, 31 Jan 2017 22:33:16 +0100 Subject: [PATCH] Now allows a optional path to be checked, and added some error handling if directory doesn't exist --- v1/diskusage.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/v1/diskusage.py b/v1/diskusage.py index e7d1005..b790b63 100755 --- a/v1/diskusage.py +++ b/v1/diskusage.py @@ -3,13 +3,14 @@ # @Author: KevinMidboe # @Date: 2017-01-28 10:54:06 # @Last Modified by: KevinMidboe -# @Last Modified time: 2017-01-31 21:40:34 +# @Last Modified time: 2017-01-31 22:29:43 # f_avail = free blocks avail to non sudo # frsize = fundamental file sys byte size # f_blocks = total number of blocks in the filesystem from os import statvfs +from re import sub def sizeof(num, suffix='B'): for unit in ['','K','M','G','T','P','E','Z']: @@ -19,7 +20,11 @@ def sizeof(num, suffix='B'): return "%.1f%s%s" % (num, 'Y', suffix) # diskUsage uses statvfs to calculate disk size and availability for given disk -def diskUsage(path='/'): +def diskUsage(optionalPath=None): + path = '/' + if optionalPath != None: + path += sub('\+', '/', optionalPath) + try: s = statvfs(path) byteLeft = s.f_bavail * s.f_frsize @@ -30,6 +35,8 @@ def diskUsage(path='/'): except FileNotFoundError: return None + except TypeError: + return None if __name__=="__main__": n = diskUsage('/media/hdd1')