자동 우주선 감지 스크립트

PythonBeginner
지금 연습하기

소개

이 프로젝트에서는 현재 시스템의 디스크 사용량을 감지하는 자동화 스크립트를 만드는 방법을 배우게 됩니다. 이 스크립트는 은하 제국의 우주선 유지 보수 엔지니어가 이륙 전에 우주선의 기본 데이터가 정상인지 확인하기 위해 사용하도록 설계되었습니다.

👀 미리보기

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

🎯 과제

이 프로젝트에서는 다음을 배우게 됩니다:

  • 현재 시스템의 총 디스크 공간, 사용된 디스크 공간 및 사용하지 않은 디스크 공간을 감지할 수 있는 flight_check.py라는 Python 스크립트를 만드는 방법.
  • flight_check.py 스크립트를 실행하고 출력을 캡처하기 위해 auto_check_script.py 파일에서 auto_check_script() 함수를 구현하는 방법.
  • auto_check_script() 함수가 올바르게 작동하는지 확인하기 위해 테스트하는 방법.

🏆 성과

이 프로젝트를 완료하면 다음을 수행할 수 있습니다:

  • Python 과 os 라이브러리를 사용하여 시스템 감지를 위한 자동화 스크립트를 만드는 방법을 이해합니다.
  • Python 스크립트를 실행하고 출력을 캡처할 수 있는 함수를 구현합니다.
  • 자동화 스크립트의 기능을 테스트하고 검증합니다.

flight_check.py 파일 생성

이 단계에서는 Python 코드를 사용하여 flight_check.py 파일을 만드는 방법을 배우게 됩니다.

  1. 텍스트 편집기를 열고 flight_check.py라는 새 파일을 만듭니다.
  2. flight_check.py 파일에 다음 코드를 추가합니다:
import shutil

def check_disk_usage():
    total, used, free = shutil.disk_usage("/")
    print(total // (2**20))  ## total disk space
    print(used // (2**20))   ## used disk space
    print(free // (2**20))   ## unused disk space

if __name__ == "__main__":
    check_disk_usage()

이 코드는 shutil.disk_usage("/") 메서드를 사용하여 현재 운영 체제의 총, 사용된 및 사용 가능한 디스크 공간을 얻는 check_disk_usage() 함수를 정의합니다. 그런 다음 이 함수는 이러한 값을 MB 단위로 출력합니다.

✨ 솔루션 확인 및 연습

auto_check_script() 함수 구현

이 단계에서는 auto_check_script.py 파일에서 auto_check_script() 함수를 구현하는 방법을 배우게 됩니다.

  1. /home/labex/project 디렉토리에 있는 auto_check_script.py 파일을 엽니다.
  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))  ## total disk space
    print(used // (2**20))   ## used disk space
    print(free // (2**20))   ## unused disk space

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

이렇게 하면 다음과 같이 총, 사용된 및 사용 가능한 디스크 공간이 MB 단위로 출력되어야 합니다:

['20480', '131', '20348']
  1. 출력이 시스템의 실제 디스크 사용량과 일치하는지 확인합니다.

축하합니다! 프로젝트를 완료했습니다. 이제 auto_check_script.py 파일의 auto_check_script() 함수는 은하 제국의 우주선 유지 보수 엔지니어가 사용할 준비가 되었습니다.

✨ 솔루션 확인 및 연습

요약

축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.