Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

354
Vistas
Obtener el tamaño del disco duro en Python

Estoy tratando de obtener el tamaño del disco duro y el espacio libre usando Python (estoy usando Python 2.7 con macOS).

Estoy intentando con os.statvfs('/') , especialmente con el siguiente código. ¿Es correcto lo que estoy haciendo? ¿Qué definición de la variable giga debo usar?

 import os def get_machine_storage(): result=os.statvfs('/') block_size=result.f_frsize total_blocks=result.f_blocks free_blocks=result.f_bfree # giga=1024*1024*1024 giga=1000*1000*1000 total_size=total_blocks*block_size/giga free_size=free_blocks*block_size/giga print('total_size = %s' % total_size) print('free_size = %s' % free_size) get_machine_storage()

EDITAR: statvfs está en desuso en Python 3, ¿conoces alguna alternativa?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Para Python 2 hasta Python 3.3


Aviso : como algunas personas mencionaron en la sección de comentarios, esta solución funcionará para Python 3.3 y superior. Para Python 2.7 , es mejor usar la biblioteca psutil , que tiene una función disk_usage , que contiene información sobre el espacio en disco total , usado y libre :

 import psutil hdd = psutil.disk_usage('/') print ("Total: %d GiB" % hdd.total / (2**30)) print ("Used: %d GiB" % hdd.used / (2**30)) print ("Free: %d GiB" % hdd.free / (2**30))

Python 3.3 y superior:

Para Python 3.3 y superior, puede usar el módulo shutil , que tiene una función disk_usage , que devuelve una tupla con nombre con las cantidades de espacio total, usado y libre en su disco duro.

Puede llamar a la función de la siguiente manera y obtener toda la información sobre el espacio de su disco:

 import shutil total, used, free = shutil.disk_usage("/") print("Total: %d GiB" % (total // (2**30))) print("Used: %d GiB" % (used // (2**30))) print("Free: %d GiB" % (free // (2**30)))

Producción:

 Total: 931 GiB Used: 29 GiB Free: 902 GiB
over 4 years ago · Santiago Trujillo Denunciar

0

https://pypi.python.org/pypi/psutil

 import psutil obj_Disk = psutil.disk_usage('/') print (obj_Disk.total / (1024.0 ** 3)) print (obj_Disk.used / (1024.0 ** 3)) print (obj_Disk.free / (1024.0 ** 3)) print (obj_Disk.percent)
over 4 years ago · Santiago Trujillo Denunciar

0

El código es correcto, pero está utilizando campos incorrectos, lo que puede generar resultados incorrectos en un sistema diferente. La forma correcta sería:

 >>> os.system('df -k /') Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 14846608 3247272 10945876 23% / >>> disk = os.statvfs('/') >>> (disk.f_bavail * disk.f_frsize) / 1024 10945876L
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda