다음 명령에서 가능한 반환 값은 무엇입니까?
import sys
print sys.platform
많은 가능성이 있다는 것을 알고 있기 때문에 주로 "주요"항목 (Windows, Linux, Mac OS)에 관심이 있습니다.
답변:
┍━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━┑
│ 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
입니다.
macOS
시스템은 어떻습니까? 그들은 여전히 결심 darwin
합니까?
Mac OS X (10.4, 10.5, 10.7, 10.8) :
darwin
Linux (2.6 커널) :
linux2
Windows XP 32 비트 :
win32
괄호 안의 버전이 확인되었습니다. 다른 / 최신 버전은 동일 할 가능성이 높습니다.
darwin
, 모든 2.x 리눅스 커널이 linux2
, Windows가 win32 또는 win64가 될 것이라고 거의 확신합니다 .하지만 확인하지 않았습니다
platform.system()
은 덜 혼란스러운 솔루션 일 수 있습니다 ( "Windows"대 "Linux").
다른 사람들이 지적했듯이 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은 추가 값을 가질 수 있습니다.
에서 여기 .
win32
, os2
,unknown
2013 년 12 월 29 일부터 OS X 10.9.1 Mavericks는 여전히 Darwin으로 표시됩니다.