platform은 시스템의 정보를 확인할 때 사용하는 모듈이다.
내가 동키카 프로젝트를 진행하다가 config.py파일의 코드리뷰를 준비할때 의문이 든 코드가 있었다. 이 부분이다.
import platform
...
DONKEY_GYM = True
# DONKEY_SIM_PATH = "/home/tkramer/projects/sdsandbox/sdsim/build/DonkeySimLinux/donkey_sim.x86_64" when racing on virtual-race-league use "remote", or user "remote" when you want to start the sim manually first.
if (platform.system() == 'Windows'):
#dspath = "C:\\Users\\1\\DonkeySimWin\\donkey_sim.exe"
dspath = os.path.join(os.environ['HOMEPATH'], 'DonkeySimWin', 'donkey_sim.exe')
dspath = os.path.abspath(dspath)
if not os.path.exists(dspath):
dspath = "../../../../../DonkeySimWin/donkey_sim.exe"
dspath = os.path.abspath(dspath)
DONKEY_SIM_PATH = dspath
elif (platform.system() == 'Darwin'):
dspath = "~/Applications/donkey_sim.app/Contents/MacOS/donkey_sim"
dspath = os.path.expanduser(dspath)
dspath = os.path.abspath(dspath)
DONKEY_SIM_PATH = dspath
else: # 'Linux'
dspath = "~/donkey_sim"
dspath = os.path.expanduser(dspath)
dspath = os.path.abspath(dspath)
DONKEY_SIM_PATH = dspath
위에서 platform.system()함수를 통해 플랫폼, 즉 OS의 이름을 받아올 수 있다고 한다. 윈도우, 맥, 리눅스 중 하나의 값을 반환하는 것 같다.
다음은 운영체제 이름정보를 받아오는 예제코드이다.
import platform
# Get the current platform
platform_name = platform.system()
# Print the platform name
print(f"Platform: {platform_name}")
# Check if the platform is Windows
if platform_name == "Windows":
# Run a Windows-specific command
print("Running Windows-specific command...")
# Check if the platform is Linux
elif platform_name == "Linux":
# Run a Linux-specific command
print("Running Linux-specific command...")
# Check if the platform is macOS
elif platform_name == "Darwin":
# Run a macOS-specific command
print("Running macOS-specific command...")
# Handle any other platform
else:
print(f"Unknown platform: {platform_name}")
위 코드를 콜랩에 넣어보았다.
아하! 콜랩은 예상했듯이 리눅스로 돌아가는 것 같다. 아무래도 클라우드라서 그런 것 같다.
더 나아가,
uname()함수를 쓰면 namedtuple형태의 시스템 정보를 얻을 수도 있다고 한다. 참고로 콜랩의 CPU정보는 다음과 같다.
uname_result(system='Linux',
node='3fc34d76c7ba',
release='6.1.58+',
version='#1 SMP PREEMPT_DYNAMIC Sat Nov 18 15:31:17 UTC 2023',
machine='x86_64')
하나씩 뜯어보자면,
- node: 네트워크상의 컴퓨터 이름
- release: 시스템 릴리즈 번호
- version: 시스템 버전
- machine: 시스템 유형
이게 리눅스 환경이라 하니 나중에 여기다가 GUI환경도 띄워보고 동키카 돌려보기도 하고 그렇게 모은 데이터로 학습도 시켜봐야 겠다. 내 컴퓨터 학습을 시켰을때는 대략 3시간 20분정도가 걸렸는데, 여기서 돌리면 조금 빠르게 학습시킬 수 있지 않을까 싶다.
출처: https://wikidocs.net/123697
'라이브러리&Module > 표준라이브러리' 카테고리의 다른 글
수강할 과목의 순서를 구하려면?(#TopologicalSorter)(do it! 점프 투 파이썬-ch03) (0) | 2023.01.19 |
---|---|
C로 만든 데이터를 출력하려면?(#struct)(do it! 점프 투 파이썬-ch02) (0) | 2023.01.19 |
정규표현식으로 개인정보를 보호하려면?(#re)(do it! 점프 투 파이썬-ch01) (0) | 2023.01.15 |
댓글