web-dev-qa-db-ja.com

sys.platformから可能な値?

次のコマンドから返される可能性のある戻り値は何ですか?

import sys
print sys.platform

私は多くの可能性があることを知っているので、主に「メイン」のもの(Windows、Linux、Mac OS)に興味があります

65
dbr

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

darwin

Linux(2.6カーネル):

linux2

Windows XP 32ビット:

win32

括弧内のバージョンがチェックされています-他の/新しいバージョンは同じである可能性があります。

28
dbr
.---------------------.------------.
| System              | Value      |
|---------------------|------------|
| Linux               | linux  (*) |
| 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

76
ICB

他の人が示したように、sys.platformは、システムベンダーがシステムに付けた名前に由来しています。ただし、Pythonはplat-もsys.pathに追加するため、Pythonディストリビューションのすべてのplat- *ディレクトリを確認できます。

これはあなたにリストを与えます

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

もちろん、Pythonがプラットフォーム固有のディレクトリが作成されていないシステムでコンパイルされる場合、sys.platformは追加の値を持つことができます。

ここ から。

22
Mitch Wheat

FreeBSD 7.0:freebsd7。 FreeBSD8ですが、以前のバージョンで実行されたビルドと同じ答えです。

したがって、ビルドに使用されるプラットフォームを取得することに注意してください。必ずしも実行しているプラ​​ットフォームではありません。

7
Keltia

2013年12月29日の時点で、OS X 10.9.1 MavericksにはまだDarwinというラベルが付いています。

2
Jason Elwood