3 gennaio 2011

Verifica dell' OS con sys.platform

Identificare il Sistema Operativo su cui gira l' interprete python, tramite il metodo platform del modulo sys .

Ci sono diversi modi di identificare su quale versione di OS gira l'interprete python:
la versione "classica" sys.platform == "win32" or sys.platform == "dos", oppure sys.platform[:3] == "win", o anche sys.platform.startswith('win')
oppure il nuovo metodo aggiunto nella versione python2.6, dove vediamo un esempio reale.

>>> import sys

>>> sys.getwindowsversion()

(5, 1, 2600, 2, 'Service Pack 3')
>>>

dove stampa una tupla di major e minor built, la piattaforma 2 (nel mio pc xp) con service pack 3.

I codici completi di equivalenza sono:

0 win32 o windows3.1
1 Windows95-Windows98-WindowsME
2 WindowsNT-Windows2000-WindowsXP-x64
3 Windows CE


E il metodo "classico" o il più usato dai programmatori python ovvero sys.platform

import sys
if sys.platform == "win32" or sys.platform == "dos":
print "sistema di casa Microsoft"
print sys.api_version

elif sys.platform == "linux1386" or sys.platform == "linux2":
print "sistema di tipo Gnu/Linux"
print sys.api_version

elif sys.platform == "bsd" or sys.platform == "darwin":
print "sistema di tipo bsd"
print sys.api_version

else:
print " |sistema non riconosciuto!| "

[output]
sistema di casa Microsoft
1013

il metodo platform contiene altri identificatori di piattaforma quali:

cygwin, sunos5, palmOS3, os2, riscos, atheos.

Per approfondire l'argomento non resta che spulciare la meravigliosa Library Reference e il relativo modulo sys con platform.

Nessun commento: