Questo modulo fornisce un metodo portabile per sfruttare le funzionalità specifiche di un sistema operativo, confrontato all'utilizzo diretto dei moduli built-in specifici di un sistema, come posix o nt.
Questo modulo verifica la presenza di moduli built-in come
mac o posix, dipendenti dal sistema operativo, ed
esporta gli stessi dati e funzioni individuati in tali moduli. Tutti i
moduli built-in di Python dipendenti dal sistema operativo vengono
progettati in modo tale che se una certa funzione è disponibile, usi
la stessa interfaccia in tutti i moduli; per esempio la funzione
os.stat(path)
restituisce l'informazione richiesta sul
path (NdT: percorso) nello stesso formato (generato
dall'interfaccia POSIX).
Le estensioni specifiche di un determinato sistema operativo sono disponibili anche attraverso il modulo os, ma usarle ovviamente pregiudica la portabilita'!
Notate che successivamente al primo import del modulo os, non c'è alcuna riduzione di prestazioni nell'uso delle funzioni di os invece che di quelle del modulo built-in dipendente dal sistema operativo, per cui non dovrebbe esistere alcuna ragione per non usare os!
Il modulo os contiene molte funzioni e valori di dati. Gli elementi elencati di seguito e nelle successive sotto sezioni sono tutti disponibili direttamente attraverso il modulo os.
Quando le eccezioni sono gestite come classi, l'eccezione ha due attributi, errno e strerror. Il primo contiene il valore dell'omonima variabile C, il secondo contiene il corrispondente messaggio di errore restituito da strerror(). Per eccezioni che comportano un percorso di accesso ad un file (come quelle che possono venire sollevate da chdir() o unlink()), l'istanza di eccezione conterrà un terzo attributo, filename, che è il nome del file passato alla funzione.
'posix'
, 'nt'
,
'mac'
, 'os2'
, 'ce'
, 'java'
, 'riscos'
.
os.path.split(file)
è equivalente ma più
portabile dell'espressione posixpath.split(file)
. Notate
che questo è anche un modulo importabile: può venire importato
direttamente come os.path.