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

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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

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

$ 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-скрипт и захватывать его вывод.
  • Тестировать и проверять функциональность автоматизированного скрипта.

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/FileHandlingGroup(["File Handling"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/FileHandlingGroup -.-> python/file_operations("File Operations") python/PythonStandardLibraryGroup -.-> python/os_system("Operating System and System") subgraph Lab Skills python/function_definition -.-> lab-302691{{"Автоматический скрипт обнаружения космического корабля"}} python/build_in_functions -.-> lab-302691{{"Автоматический скрипт обнаружения космического корабля"}} python/importing_modules -.-> lab-302691{{"Автоматический скрипт обнаружения космического корабля"}} python/file_operations -.-> lab-302691{{"Автоматический скрипт обнаружения космического корабля"}} python/os_system -.-> lab-302691{{"Автоматический скрипт обнаружения космического корабля"}} end

Создайте файл 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, чтобы улучшить свои навыки.