sys.platform에서 가능한 값?


답변:


110
┍━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━┑
│ System              │ Value               │
┝━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━┥
│ Linux               │ linux or linux2 (*) │
│ Windows             │ win32               │
│ Windows/Cygwin      │ cygwin              │
│ Windows/MSYS2       │ msys                │
│ Mac OS X            │ darwin              │
│ OS/2                │ os2                 │
│ OS/2 EMX            │ os2emx              │
│ RiscOS              │ riscos              │
│ AtheOS              │ atheos              │
│ FreeBSD 7           │ freebsd7            │
│ FreeBSD 8           │ freebsd8            │
│ FreeBSD N           │ freebsdN            │
│ OpenBSD 6           │ openbsd6            │
┕━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━┙

(*) Python 3.3 이전에는 모든 Linux 버전의 값은 항상 linux2; 그 후에는 linux입니다.


5
이것의 목록을 만들어야합니다.
Benjamin Paap

3
아마도이 글을 쓰는 현재 가장 유용한 답변 일 것입니다. 세련된 ASCII 아트 스프레드 시트를위한 추가 카르마.
Cecil Curry

1
현재 macOS시스템은 어떻습니까? 그들은 여전히 ​​결심 darwin합니까?
blubberdiblub

1
나는 "리눅스"는군요
vidstige

1
@blubberdiblub 예.
Michael Leonard

34

Mac OS X (10.4, 10.5, 10.7, 10.8) :

darwin

Linux (2.6 커널) :

linux2

Windows XP 32 비트 :

win32

괄호 안의 버전이 확인되었습니다. 다른 / 최신 버전은 동일 할 가능성이 높습니다.


10.5보다 높은 OS X 버전은 어떻습니까? 또한 'darwin'으로 레이블이 지정되어 있습니까? 2.6보다 높은 Linux 커널 버전은 어떻습니까? XP보다 높은 Windows 버전?
Dennis

@Dennis는 대답에 대해 설명했습니다-나열된 버전은 내가 확인한 버전입니다. 거의 모든 OS X 버전이 darwin, 모든 2.x 리눅스 커널이 linux2, Windows가 win32 또는 win64가 될 것이라고 거의 확신합니다 .하지만 확인하지 않았습니다
dbr

1
최신 버전의 Linux에는 "linux2"대신 "linux3"이있을 수 있습니다.
MarioVilas 2013 년

4
@MarioVilas : 아니요, Python의 관점과 차이가 없기 때문에 linux3 커널의 경우에도 Python은 linux2에 고착되었습니다.
Martijn Pieters

4
64 비트 Windows에 64 비트 Python을 설치하면 "win32"도 출력됩니다. 사용 platform.system()은 덜 혼란스러운 솔루션 일 수 있습니다 ( "Windows"대 "Linux").
Daniel F

22

다른 사람들이 지적했듯이 sys.platform은 시스템 공급 업체가 시스템에 제공하는 이름에서 파생됩니다. 그러나 Python은 sys.path에 plat-도 추가하므로 Python 배포의 모든 plat- * 디렉터리를 볼 수 있습니다.

이것은 당신에게 목록을 제공합니다

aix3 aix4 atheos beos5 darwin freebsd2 freebsd3 freebsd4 freebsd5 freebsd6 freebsd7 generic irix5 irix6 linux2 mac netbsd1 next3 os2emx riscos sunos5 unixware7

물론 플랫폼 별 디렉토리가 생성되지 않은 시스템에서 Python이 컴파일 될 때 sys.platform은 추가 값을 가질 수 있습니다.

에서 여기 .


5
소스 코드를 통해 파고에 의해 몇 가지 더의 일반적인있다 : win32, os2,unknown
니클라스 A.

7
파이썬 3.3에 나중에하면 linux2된다 linux. 출처
Michael Platings

3
@Deqing은 : :) 3 년 후에 고정
xOneca

9

FreeBSD 7.0 : freebsd7. FreeBSD8이지만 이전 버전에서 수행 된 빌드, 동일한 대답.

따라서 반드시 실행중인 플랫폼이 아니라 빌드에 사용되는 플랫폼을 확보해야합니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.