Script de detección automática de naves espaciales

PythonBeginner
Practicar Ahora

Introducción

En este proyecto, aprenderás a crear un script automatizado que pueda detectar el uso de disco del sistema actual. Este script está diseñado para ser utilizado por el ingeniero de mantenimiento de naves espaciales del Imperio Galáctico para asegurarse de que los datos básicos de la nave estén normales antes del despegue.

👀 Vista previa

$ python auto_check_script.py
['20480', '131', '20348']

🎯 Tareas

En este proyecto, aprenderás:

  • Cómo crear un script de Python llamado flight_check.py que pueda detectar el espacio total de disco, el espacio de disco utilizado y el espacio de disco no utilizado del sistema actual.
  • Cómo implementar la función auto_check_script() en el archivo auto_check_script.py para ejecutar el script flight_check.py y capturar su salida.
  • Cómo probar la función auto_check_script() para asegurarse de que funcione correctamente.

🏆 Logros

Después de completar este proyecto, podrás:

  • Comprender cómo utilizar Python y la biblioteca os para crear un script automatizado de detección de sistema.
  • Implementar una función que pueda ejecutar un script de Python y capturar su salida.
  • Probar y verificar la funcionalidad de un script automatizado.

Crear el archivo flight_check.py

En este paso, aprenderás a crear el archivo flight_check.py utilizando código de Python.

  1. Abre tu editor de texto y crea un nuevo archivo llamado flight_check.py.
  2. En el archivo flight_check.py, agrega el siguiente código:
import shutil

def check_disk_usage():
    total, used, free = shutil.disk_usage("/")
    print(total // (2**20))  ## espacio total de disco
    print(used // (2**20))   ## espacio de disco utilizado
    print(free // (2**20))   ## espacio de disco no utilizado

if __name__ == "__main__":
    check_disk_usage()

Este código define una función check_disk_usage() que utiliza el método shutil.disk_usage("/") para obtener el espacio total, utilizado y libre de disco en el sistema operativo actual. Luego, la función imprime estos valores en unidades de MB.

✨ Revisar Solución y Practicar

Implementar la función auto_check_script()

En este paso, aprenderás a implementar la función auto_check_script() en el archivo auto_check_script.py.

  1. Abre el archivo auto_check_script.py ubicado en el directorio /home/labex/project.
  2. En la función auto_check_script(), agrega el siguiente código:
import os

def auto_check_script():
    result = os.popen("python flight_check.py").read().splitlines()
    return result

if __name__ == "__main__":
    file = open("flight_check.py", "w")
    file.write(
        """
import shutil

def check_disk_usage():
    total, used, free = shutil.disk_usage("/")
    print(total // (2**20))  ## espacio total de disco
    print(used // (2**20))   ## espacio de disco utilizado
    print(free // (2**20))   ## espacio de disco no utilizado

if __name__ == "__main__":
    check_disk_usage()
    """
    )
    file.close()

    print(auto_check_script())

Este código utiliza la función os.popen() para ejecutar el script flight_check.py y capturar su salida. Luego, la salida se divide en una lista de líneas, que es devuelta por la función auto_check_script().

✨ Revisar Solución y Practicar

Probar la función auto_check_script()

En este paso, probarás la función auto_check_script() para asegurarte de que funcione correctamente.

  1. Ejecuta el archivo auto_check_script.py utilizando el siguiente comando:
python auto_check_script.py

Esto debería mostrar el espacio total, utilizado y no utilizado de disco en unidades de MB, como esto:

['20480', '131', '20348']
  1. Verifica que la salida coincida con el uso real de disco en tu sistema.

¡Felicidades! Has completado el proyecto. La función auto_check_script() en el archivo auto_check_script.py ya está lista para ser utilizada por el ingeniero de mantenimiento de naves espaciales del Imperio Galáctico.

✨ Revisar Solución y Practicar

Resumen

¡Felicidades! Has completado este proyecto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.