Каковы возможные значения возврата из следующей команды?
import sys
print sys.platform
Я знаю, что есть много возможностей, поэтому меня в основном интересуют "основные" (Windows, Linux, Mac OS).
Каковы возможные значения возврата из следующей команды?
import sys
print sys.platform
Я знаю, что есть много возможностей, поэтому меня в основном интересуют "основные" (Windows, Linux, Mac OS).
Mac OS X (10.4, 10.5, 10.7, 10.8):
darwin
Linux (ядро 2.6):
linux2
Windows XP 32 бит:
win32
Версии в скобках были проверены - другие/более новые версии, вероятно, будут одинаковыми.
┍━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━┑
│ 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
.
Как указали другие, sys.platform происходит от имени, что Поставщик системы отдает свою систему. Тем не менее, Python также добавляет plat- для sys.path, так Вы можете посмотреть на все plat- * каталоги в Питоне распределение.
Это дает вам список
aix3 aix4 atheos beos5 darwin freebsd2 freebsd3 freebsd4 freebsd5 freebsd6 freebsd7 generic irix5 irix6 linux2 mac netbsd1 next3 os2emx riscos sunos5 unixware7
Конечно, sys.platform может иметь дополнительные значения, когда Python получает составлено в системе, для которой нет каталог для конкретной платформы был создано.
С здесь.
FreeBSD 7.0: freebsd7
. FreeBSD8, но сборка выполнена в предыдущей версии, тот же ответ.
Знайте, что вы получаете платформу, используемую для сборки, а не только ту, на которой вы работаете.
По состоянию на 29 декабря 2013 года OS X 10.9.1 Mavericks по-прежнему помечен Дарвином.