#!/usr/local/bin/python # -*- coding: utf-8 -*- import os import sys import win32com.client as com def sizeToOctetKoMoGo(size): if size < 1024: return str(round(size / 1024.0)) + " Octets" elif size < 1024**2: return str(round(size / 1024.0, 3)) + " Ko" elif size < 1024**3: return str(round(size / (1024.0**2), 3)) + " Mo" else: return str(round(size / (1024.0**3), 3)) + " Go" def totalSize(drive): try: fso = com.Dispatch("Scripting.FileSystemObject") drv = fso.GetDrive(drive) return drv.TotalSize except: return 0 def freeSpace(drive): try: fso = com.Dispatch("Scripting.FileSystemObject") drv = fso.GetDrive(drive) return drv.FreeSpace except: return 0 drive = 'c:' print "C: Total space: " + sizeToOctetKoMoGo(totalSize(drive)) print "C: free space: " + sizeToOctetKoMoGo(freeSpace(drive))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionimport subprocess commande = subprocess.Popen("df -h",stdout=subprocess.PIPE,shell=True) retour = commande.stdout.read() print retour
import subprocess commande = subprocess.Popen("df -h",stdout=subprocess.PIPE,shell=True) retour = commande.stdout.readline() while retour != "": params = retour.split() print params for param in params: print param retour = commande.stdout.readline()
print param[0]pour récuperer la première valeur de la liste soit, le nom de la partition et ainsi de suite pour les autres paramètres.
for partition in ['/home','/var']:
import subprocess
detail_disk = subprocess.getoutput("df -h | grep '%s'" % partition) # recup directe en Go
print("Espace libre de la partition "+partition+" : "+detail_disk.split()[3])
# Si il reste moins de 5 Go de libre = alerte
if float(detail_disk.split()[3][:-1].replace(',','.')) > 5: print('ALERTE')