Quelles sont les valeurs de retour possibles de la commande suivante?
import sys
print sys.platform
Je sais qu'il y a beaucoup de possibilités, donc je m'intéresse principalement aux "principales" (Windows, Linux, Mac OS)
Mac OS X (10.4, 10.5, 10.7, 10.8):
darwin
Linux (noyau 2.6):
linux2
Windows XP 32 bits:
win32
Les versions entre parenthèses ont été vérifiées - les autres versions/plus récentes sont probablement les mêmes.
.---------------------.------------.
| 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 |
'---------------------'------------'
(*) Avant Python 3.3, la valeur de toute version Linux est toujours linux2
.
Comme d'autres l'ont indiqué, sys.platform est dérivé du nom que le fournisseur du système donne à son système. Cependant, Python ajoute également plat- à sys.path, vous pouvez donc consulter tous les répertoires plat- * dans la distribution Python.
Cela vous donne la liste
aix3 aix4 atheos beos5 darwin freebsd2 freebsd3 freebsd4 freebsd5 freebsd6 freebsd7 générique irix5 irix6 linux2 mac netbsd1 next3 os2emx riscos sunos5 unixware7
Bien sûr, sys.platform peut avoir des valeurs supplémentaires, lorsque Python est compilé sur un système pour lequel aucun répertoire spécifique à la plate-forme n'a été créé.
De ici .
FreeBSD 7.0: freebsd7
. FreeBSD8 mais build effectué sur la version précédente, même réponse.
Sachez donc que vous utilisez la plate-forme pour la construction, pas nécessairement celle sur laquelle vous exécutez.
Au 29 décembre 2013, OS X 10.9.1 Mavericks est toujours étiqueté Darwin.