Возможные значения из sys.platform?
Каковы возможные возвращаемые значения из следующей команды?
import sys
print sys.platform
Я знаю, что есть много возможностей, поэтому я в основном заинтересован в "основных" (Windows, Linux, Mac OS)
5 ответов
Mac OS X (10,4, 10,5, 10,7, 10,8):
darwin
Linux (ядро 2.6):
linux2
Windows XP 32 бит:
win32
Версии в скобках были проверены - другие / более новые версии, вероятно, будут одинаковыми.
.---------------------.------------.
| System | Value |
|---------------------|------------|
| Linux (2.x and 3.x) | linux2 (*) |
| Windows | win32 |
| Windows/Cygwin | cygwin |
| 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 |
'---------------------'------------'
(*) Начиная с python3.3, значение для любого Linux всегда равно linux (без номера версии).
Как указали другие, sys.platform происходит от имени, которое системный поставщик дает своей системе. Тем не менее, Python также добавляет plat- to sys.path, так что вы можете просмотреть все каталоги plat-* в дистрибутиве Python.
Это дает вам список
aix3 aix4 atheos beos5 дарвин freebsd2 freebsd3 freebsd4 freebsd5 freebsd6 freebsd7 универсальный irix5 irix6 linux2 mac netbsd1 следующий3 os2emx riscos sunos5 unixware7
Конечно, sys.platform может иметь дополнительные значения, когда Python компилируется в системе, для которой не создан каталог для конкретной платформы.
FreeBSD 7.0: freebsd7
, FreeBSD8, но сборка выполнена на предыдущей версии, тот же ответ.
Так что имейте в виду, что вы используете платформу для сборки, а не ту, на которой вы работаете.
По состоянию на 29 декабря 2013 года OS X 10.9.1 Mavericks по-прежнему обозначается как Darwin.