Возможные значения из sys.platform? - PullRequest
64 голосов
/ 15 января 2009

Каковы возможные возвращаемые значения из следующей команды?

import sys
print sys.platform

Я знаю, что есть много возможностей, поэтому в основном меня интересуют "основные" (Windows, Linux, Mac OS)

Ответы [ 5 ]

75 голосов
/ 14 декабря 2012
.---------------------.------------.
| System              | Value      |
|---------------------|------------|
| Linux (2.x and 3.x) | 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   |
'---------------------'------------'

(*) Начиная с python3.3, значение для любого Linux всегда равно linux (без номера версии).

27 голосов
/ 15 января 2009

Mac OS X (10,4, 10,5, 10,7, 10,8):

darwin

Linux (ядро 2.6):

linux2

Windows XP 32 бит:

win32

Версии в скобках проверены - другие / более новые версии могут быть одинаковыми.

21 голосов
/ 15 января 2009

Как указали другие, sys.platform происходит от имени, что Поставщик системы отдает свою систему. Тем не менее, Python также добавляет plat- to sys.path, так Вы можете посмотреть на все плат- * каталоги в Питоне распределение.

Это дает вам список

aix3 aix4 atheos beos5 дарвин freebsd2 freebsd3 freebsd4 freebsd5 freebsd6 freebsd7 универсальный irix5 irix6 linux2 mac netbsd1 следующий3 os2emx риски sunos5 unixware7

Конечно, sys.platform может иметь дополнительные значения, когда Python получает составлено в системе, для которой нет каталог для конкретной платформы был создано.

С здесь .

7 голосов
/ 15 января 2009

FreeBSD 7.0: freebsd7. FreeBSD8, но сборка выполнена в предыдущей версии, тот же ответ.

Так что имейте в виду, что для сборки используется платформа, а не та, на которой вы работаете.

2 голосов
/ 29 декабря 2013

По состоянию на 29 декабря 2013 года OS X 10.9.1 Mavericks по-прежнему помечена как Darwin.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...