platform — 기본 플랫폼 식별 데이터 접근
platform — 기본 플랫폼 식별 데이터 접근
platform 모듈은 실행 중인 플랫폼의 식별 데이터에 접근하는 기능을 제공해요. 운영체제 이름, 버전, 머신 타입, 파이썬 빌드 정보 등을 조회할 때 유용해요. 문서에서는 플랫폼별 섹션(Unix, Windows, macOS, Linux 등)으로 나뉘어 설명돼요.
본문
크로스 플랫폼 (Cross platform)
- platform.architecture(executable=sys.executable, bits='', linkage='') — 주어진 실행 파일(기본은 파이썬 인터프리터 바이너리)에 대해 다양한 아키텍처 정보를 조회해요. 비트 아키텍처와 링키지 형식에 대한 정보를 담은 튜플
(bits, linkage)를 반환해요(둘 다 문자열). 결정할 수 없는 값은 매개변수 기본값으로 반환돼요. bits 가''로 주어지면 지원되는 포인터 크기의 지표로sizeof(pointer)를 사용해요. 함수는 실제 작업을 시스템의file명령에 의존해요.- 참고: macOS(와 다른 플랫폼)에서는 실행 파일이 여러 아키텍처를 담은 유니버설 파일일 수 있어요. 현재 인터프리터의 "64비트 여부"를 알려면
sys.maxsize속성을 조회하는 게 더 신뢰할 수 있어요:is_64bits = sys.maxsize > 2**32.
- 참고: macOS(와 다른 플랫폼)에서는 실행 파일이 여러 아키텍처를 담은 유니버설 파일일 수 있어요. 현재 인터프리터의 "64비트 여부"를 알려면
- platform.machine() — 머신 타입을 반환해요(예:
'AMD64'). 결정할 수 없으면 빈 문자열을 반환해요. - platform.node() — 컴퓨터의 네트워크 이름을 반환해요(완전히 정규화되지 않을 수 있음). 결정할 수 없으면 빈 문자열.
- platform.platform(aliased=False, terse=False) — 가능한 한 많은 유용한 정보로 기본 플랫폼을 식별하는 단일 문자열을 반환해요. 출력은 기계 파싱용보다는 사람이 읽기 위한 것이에요. aliased 가 참이면 흔한 이름과 다른 시스템 이름을 보고하는 여러 플랫폼에 별칭을 사용해요(예: SunOS 를 Solaris 로 보고). terse 를 참으로 설정하면 플랫폼 식별에 필요한 최소한의 정보만 반환해요.
- platform.processor() — (실제) 프로세서 이름을 반환해요(예:
'amdk6'). 결정할 수 없으면 빈 문자열. 많은 플랫폼이 이 정보를 제공하지 않거나machine()과 같은 값을 반환해요(NetBSD 가 그렇게 함). - platform.python_build() — 파이썬 빌드 번호와 날짜를 문자열로 담은 튜플
(buildno, builddate)를 반환해요. - platform.python_compiler() — 파이캔 컴파일하는 데 사용된 컴파일러를 식별하는 문자열을 반환해요.
- platform.python_branch() — 파이썬 구현 SCM 브랜치를 식별하는 문자열.
- platform.python_implementation() — 파이썬 구현을 식별하는 문자열. 가능한 반환 값은 'CPython', 'IronPython', 'Jython', 'PyPy'.
- platform.python_revision() — 파이썬 구현 SCM 리비전을 식별하는 문자열.
- platform.python_version() — 파이썬 버전을
'major.minor.patchlevel'문자열로 반환해요.sys.version과 달리 반환 값은 항상 patchlevel 을 포함해요(기본 0). - platform.python_version_tuple() — 파이썬 버전을 문자열 튜플
(major, minor, patchlevel)로 반환해요. - platform.release() — 시스템의 릴리스를 반환해요(예:
'2.2.0'또는'NT'). 결정할 수 없으면 빈 문자열. - platform.system() — 시스템/OS 이름을 반환해요(예:
'Linux','Darwin','Java','Windows'). 결정할 수 없으면 빈 문자열. - platform.system_alias(system, release, version) — 일부 시스템에 쓰이는 일반 마케팅 이름으로 별칭을 붙인
(system, release, version)을 반환해요. - platform.version() — 시스템 릴리스 버전을 반환해요(예:
'#3 on degas'). 결정할 수 없으면 빈 문자열. - platform.uname() — 꽤 이식 가능한 uname 인터페이스예요.
system,node,release,version,machine,processor여섯 속성을 가진namedtuple을 반환해요.
커맨드라인 사용법 (Command-line usage)
platform 모듈은 커맨드라인에서도 실행할 수 있어요. python -m platform 으로 호출하면 플랫폼 정보를 사람이 읽기 좋은 형태로 출력해요. 출력 형식을 제어하는 명령줄 옵션들이 제공돼요.