본문 바로가기

스크립트

[python] 운영 체제를 판별하는 코드

반응형

운영 체제를 판별하는 코드

코드 작성

  • 코드를 작성합니다
vim script.py
#!/usr/bin/env python3

import os

def check_command(command):
    """명령어가 시스템에 존재하는지 확인"""
    return bool(os.system(f"command -v {command} > /dev/null 2>&1") == 0)

def main():
    if check_command('apt'):
        print("Ubuntu")
    elif check_command('yum'):
        print("CentOS")
    else:
        print("other operating system.")
        exit(1)

if __name__ == "__main__":
    main()

실행 권한 부여

  • 스크립트에 실행 권한을 부여합니다.
chmod +x script.py

코드 실행

  • 스크립트를 실행합니다.
$ ./script.py
Ubuntu

코드 설명

  1. #!/usr/bin/env python3 : 스크립트의 첫 줄은 스크립트를 실행할 인터프리터를 지정합니다. 이 경우 python3을 사용합니다.
  2. import os : 파이썬의 내장 모듈인 os를 임포트하여 운영 체제와 상호작용할 수 있도록 합니다.
  3. def check_command(command) : check_command 함수는 주어진 명령어가 시스템에 존재하는지 확인하는 함수입니다. 이 함수는 os.system()을 사용하여 쉘 명령어를 실행하여 명령어의 존재 여부를 확인합니다. 명령어가 존재하면 반환 코드가 0이 되고, 존재하지 않으면 반환 코드가 1이 됩니다.
  4. def main() : main 함수는 스크립트의 주요 로직을 포함합니다. 여기서는 apt와 yum 명령어의 존재 여부를 확인하여 각각 Ubuntu와 CentOS인지를 판별하고, 그 외의 경우에는 "other operating system."을 출력합니다.
  5. if __name__ == "__main__": : 이 부분은 스크립트가 직접 실행될 때만 실행되도록 하는 부분입니다. 스크립트가 모듈로 임포트되면 이 부분은 실행되지 않습니다. 여기서는 main() 함수를 호출하여 스크립트의 주요 로직을 실행합니다.

이렇게 구성된 코드는 시스템에 설치된 패키지 관리자를 확인하여 운영 체제를 판별하는 간단한 기능을 수행합니다.

 

참고URL

- 변군이글루 : distro 모듈을 사용하여 운영체제 정보 확인 예제

 

데프 메인(
 
728x90
반응형