소프트웨어 엔지니어링/Daily Learning Series
[일일회고] Python Platform으로 OS찾아내기
삐멜
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