ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [일일회고] Python Platform으로 OS찾아내기
    소프트웨어 엔지니어링/Daily Learning Series 2023. 12. 16. 11:25

     

    오늘의 문제

    요즘 AWS Quicksight으로 대시보드를 만들고 있다. 파이썬으로 AWS Athena에 쿼리를 날리고, 그 결과를 가공해 S3버켓으로 올린다. 그러면 그 결과를 Quicksight DataSet으로 받아서 대시보드를 만드는 것이다. 그래서 이번 한 주간 (잘 못하는...) 파이썬으로 열심히 스크립트를 짰는데, 문제가 생겼다. 첫번째는 이 스크립트를 매일 실행하려면 AWS에 올려야되는데, 그 때는 credential을 인스턴스의 것으로 쓰고 싶고, 로컬 환경에서 테스팅 할 때는 다른 라이브러리에서 credential을 받아오고 싶다. 안그러면 테스팅 할 때 마다 체크해야하고... 코드를 예쁘게 짠게 아니라 여기저기 실수하게된다. 그래서 파이썬에서 플랫폼을 확인 할 수 있는지 알아보았다. 

     

    오늘 배운 것

    플랫폼 관련된 정보를 주는 파이썬 라이브러리가 여러가지 있다.

    os라이브러리를 먼저 봤는데, 이건 값이 posix로 리턴돼서 사용하지 못했다.

    import os
    print(os.name)

     

    그 다음으로는 platform라이브러리가 있다.

    import platform
    print(platform.system())
    print(platform.machine())

     

    각 함수가 아래와 같이 반환했다. 맥은 Darwin을 반환한다고 한다. 

    Darwin
    arm64

     

    마지막으로 sys.

    import sys
    print(sys.platform)

    마찬가지로 darwin을 반환했다.

     

    나는 결국 platform라이브러리를 사용했다. 대략 아래와 같은 간단한 코드다.

    
    if platform.system() == 'Darwin' :
        __PLATFORM__ = 'local'
    else :
        __PLATFORM__ = 'staging'

     

    레퍼런스

    https://stackoverflow.com/questions/1854/how-to-identify-which-os-python-is-running-on

    댓글

f.software engineer @ All Right Reserved