Автоматический скрипт обнаружения космического корабля

PythonBeginner
Практиковаться сейчас

Введение

В этом проекте вы научитесь создавать автоматизированный скрипт, который может определить использование диска текущей системы. Этот скрипт предназначен для использования инженером по техническому обслуживанию космических кораблей Империи Галактики, чтобы убедиться, что базовые данные корабля в норме перед взлетом.

👀 Предварительный просмотр

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

🎯 Задачи

В этом проекте вы научитесь:

  • Создавать Python-скрипт под названием flight_check.py, который может определить общий объем диска, используемый объем диска и свободный объем диска текущей системы.
  • Реализовывать функцию auto_check_script() в файле auto_check_script.py, чтобы запускать скрипт flight_check.py и захватывать его вывод.
  • Тестировать функцию auto_check_script() для确保,что она работает правильно.

🏆 Достижения

После завершения этого проекта вы сможете:

  • Разобраться, как использовать Python и библиотеку os для создания автоматизированного скрипта для системного обнаружения.
  • Реализовать функцию, которая может запускать Python-скрипт и захватывать его вывод.
  • Тестировать и проверять функциональность автоматизированного скрипта.

Создайте файл flight_check.py

В этом шаге вы научитесь создавать файл flight_check.py с использованием Python-кода.

  1. Откройте текстовый редактор и создайте новый файл с именем flight_check.py.
  2. В файле flight_check.py добавьте следующий код:
import shutil

def check_disk_usage():
    total, used, free = shutil.disk_usage("/")
    print(total // (2**20))  ## общий объем диска
    print(used // (2**20))   ## используемый объем диска
    print(free // (2**20))   ## свободный объем диска

if __name__ == "__main__":
    check_disk_usage()

В этом коде определена функция check_disk_usage(), которая использует метод shutil.disk_usage("/") для получения общего, используемого и свободного объемов диска в текущей операционной системе. Затем функция выводит эти значения в единицах мегабайт.

Реализуйте функцию auto_check_script()

В этом шаге вы научитесь реализовывать функцию auto_check_script() в файле auto_check_script.py.

  1. Откройте файл auto_check_script.py, расположенный в директории /home/labex/project.
  2. В функции auto_check_script() добавьте следующий код:
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))  ## общий объем диска
    print(used // (2**20))   ## используемый объем диска
    print(free // (2**20))   ## свободный объем диска

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

    print(auto_check_script())

В этом коде используется функция os.popen() для запуска скрипта flight_check.py и захвата его вывода. Затем вывод разделяется на список строк, который возвращается функцией auto_check_script().

Тестируйте функцию auto_check_script()

В этом шаге вы протестируете функцию auto_check_script() для确保,что она работает правильно.

  1. Запустите файл auto_check_script.py с использованием следующей команды:
python auto_check_script.py

В результате должно быть выведено общее, используемое и свободное пространство на диске в единицах мегабайт, как показано ниже:

['20480', '131', '20348']
  1. Проверьте, соответствует ли вывод фактическому использованию диска в вашей системе.

Поздравляем! Вы завершили проект. Теперь функция auto_check_script() в файле auto_check_script.py готова к использованию инженером по техническому обслуживанию космических кораблей Империи Галактики.

Резюме

Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.

✨ Проверить решение и практиковаться✨ Проверить решение и практиковаться✨ Проверить решение и практиковаться