martedì 8 gennaio 2013

Il modulo os, interfaccia al sistema operativo

Oggi pausa con la grafica. Parliamo di interazione con il sistema operativo, alle volte può servire. Resterà da vedere la gestione di file e directory (cartelle).

Intanto sapendo che Python c'è per diversi sistemi operativi può essere utile sapere su quale sta funzionando il nostro script.


 Come si vede la prima cosa da fare è importare il modulo os.
os.name non ci dice molto, può ritornare una stringa tra: 'posix', 'nt', 'os2', 'ce', 'java', 'riscos'.

Meglio os.uname() che ritorna la tupla: (sysname, nodename, release, version, machine), se vogliamo quindi sapere il nome del sistema operativo basterà, come in figura, prendere l'elemento con indice zero.

Per sapere il nome dell'utente, il nome con cui si è fatto il login usiamo getlogin()
Le variabili di sistema (per esempio $HOME) si ottengono con getenv()
Attenzione: non mettere il $ iniziale. inoltre se definite una variabile vostra "al volo" viene vista:
Esiste anche la possibilità di cambiarla, ma il nuovo valore sarà disponibile solo per i sub-process, non credo sia un argomento d interesse generale; se del caso c'è il manuale.
Però il lancio di un sottoprocesso l'abbiamo visto nel post precedente, eccone un esempio, usando system()
Sapendo che siete aggiornatissimi sulla shell Bash approfondiamo l'esempio:
è l'equivalente di
times() ci restituisce una tupla di 5 elementi, di dubbio utilizzo.
Probabilmente è meglio usare qualche funzione del modulo time, per esempio ctime()
Ma qui c'è materiale per un altro (eventuale) post, se interessa.

Invece per file e cartelle dobbiamo aspettare un altro post.

Juhan

L'indice di "Mission Python" qui

Alla prossima!

Nessun commento:

Posta un commento