Che cos'è il modulo del sistema operativo di Python e come lo usi?

Che cos'è il modulo del sistema operativo di Python e come lo usi?

Il modulo del sistema operativo in Python fornisce l'accesso a funzioni specifiche del sistema per gestire il filesystem, i processi, lo scheduler, ecc. È necessario padroneggiare il sistema operativo Python per scrivere applicazioni che si occupano di problemi del mondo reale. Questa guida discute alcuni dei concetti fondamentali e illustra come utilizzare il comando di sistema Python.





Funzionalità del sistema operativo Python

Il sistema operativo funge da modalità portatile di interazione con il sistema operativo sottostante. Offre accesso a nomi di file, argomenti della riga di comando, variabili di ambiente, parametri di processo e gerarchia del filesystem insieme ad altre funzionalità.





Questo modulo contiene anche due sottomoduli, il modulo os.sys e il modulo os.path. È possibile utilizzare le funzioni fornite dal modulo OS per eseguire un'ampia gamma di attività. Alcuni usi comuni includono l'esecuzione di comandi shell, la gestione di file e directory, processi di spawn, ecc.





Iniziare con il modulo OS

Il modo più semplice per esplorare il modulo del sistema operativo è tramite l'interprete. Puoi importare il modulo lì e utilizzare le funzioni di sistema senza scrivere il codice sorgente. Tuttavia, è necessario che Python sia installato per questo. Quindi vai avanti e installa Python sul tuo computer locale.

Imparentato: Come installare Python su Ubuntu



Avvia l'interprete digitando pitone nel terminale o nella shell dei comandi. Una volta aperto, importa il modulo del sistema operativo utilizzando la seguente istruzione.

metti una puntina in google maps
>>> import os

Ora puoi accedere alle funzionalità fornite dal modulo del sistema operativo, incluso Python sistema comando. Ad esempio, è possibile determinare la piattaforma del sistema utilizzando il pulsante nome comando. L'esempio seguente mostra come richiamare i comandi di sistema esposti dal modulo del sistema operativo.





>>> os.name

Questa funzione controlla se sono presenti determinati moduli specifici del sistema operativo e determina la piattaforma in base a ciò. Utilizzare il il tuo nome funzione per ottenere informazioni dettagliate.

>>> os.uname()

Questo comando visualizza la piattaforma di sistema esatta insieme all'architettura della macchina, alla versione e alle informazioni sulla versione. Utilizzare il getcwd funzione per recuperare la directory di lavoro corrente.





>>> os.getcwd()

Puoi facilmente cambiare la directory di lavoro usando il comando di sistema Python chdir . Passa la nuova posizione come parametro di stringa.

>>> os.chdir('/tmp')

Il mkdir La funzione del modulo OS rende semplice la creazione di nuove directory. Ci consente anche di creare cartelle ricorsive, il che significa che Python creerà tutte le directory mancanti che sono genitori della directory foglia.

>>> os.mkdir('new-dir')

Utilizzare il rmdir comando per eliminare le directory dalla directory di lavoro.

>>> os.rmdir('new-dir')

Esempi di comandi di sistema Python

Il comando di sistema fornito dal modulo del sistema operativo consente ai programmatori di eseguire comandi di shell. Assicurati di definire il nome del comando come una stringa. Una volta chiamato il pitone sistema comando, eseguirà il comando dato in una nuova sottoshell.

>>> cmd = 'date'
>>> os.system(cmd)

Puoi eseguire altre applicazioni autonome utilizzando lo stesso metodo. L'esempio seguente esegue l'editor di terminale nano dalla shell Python.

>>> cmd = 'nano'
>>> os.system(cmd)

Il sistema operativo Python emette anche il codice di ritorno per ogni comando eseguito. I sistemi POSIX restituiscono 0 per l'esecuzione corretta e valori diversi da zero per indicare i problemi.

Puoi utilizzare il sistema operativo in Python per eseguire tutto ciò che desideri. Ad esempio, se il tuo programma ha bisogno di leggere le informazioni sulla versione di un programma sulla macchina dell'utente, potresti fare qualcosa come segue.

>>> cmd = 'gcc --version'
>>> os.system(cmd)

L'esempio seguente esegue un semplice comando di shell che crea un nuovo file chiamato utenti.txt e lo popola con tutti gli utenti che hanno effettuato l'accesso. Molti programmi Python fanno queste cose.

>>> os.system('users > test')

Stiamo passando il nome del comando al sistema operativo come stringa. Puoi usare tutti i tipi di utili comandi da terminale allo stesso modo.

>>> os.system('ping -c 3 google.com')

Puoi anche usare sottoprocesso richiede l'esecuzione di comandi di sistema da Python. Ciò fornisce numerosi vantaggi aggiuntivi, tra cui un runtime più veloce, una migliore gestione degli errori, analisi dell'output e comandi della shell di pipe. La documentazione ufficiale di Python raccomanda anche la chiamata al sottoprocesso su moduli più vecchi come sistema operativo e os.spawn .

>>> import subprocess
>>> subprocess.run(['ping','-c 3', 'example.com'])

Gestione di file e directory tramite OS Module

Abbiamo mostrato come creare file e directory semplici utilizzando il modulo del sistema operativo Python. E se volessi creare cartelle nidificate? Il sistema operativo si occupa anche di questo per noi programmatori. Ad esempio, i frammenti seguenti creano la cartella $HOME/test/root/api . Creerà anche le directory padre necessarie se non sono disponibili.

>>> dirname = os.path.join(os.environ['HOME'], 'test', 'root', 'api')
>>> print(dirname)
>>> os.makedirs(dirname)

Per prima cosa, abbiamo recuperato la directory home usando di e poi unito i nomi delle cartelle tramite os.path.join . L'istruzione print visualizza il nome della cartella e makedir lo crea.

Possiamo visualizzare la nuova directory usando il listdir metodo del modulo OS.

>>> os.chdir(os.path.join(os.environ['HOME'], 'test', 'root', 'api'))
>>> os.system('touch file1 file2 file3')
>>> os.listdir(os.environ['HOME'])

Puoi facilmente rinominare la directory API usando il rinominare comando offerto dal modulo del sistema operativo. L'istruzione seguente rinomina questa directory API in test-api.

>>> os.rename('api', 'test-api')

Utilizzare il isfile e nome funzione del sistema operativo se il tuo programma ha bisogno di convalidare file o directory specifici.

>>> os.path.isfile('file1')
>>> os.path.isdir('file1')

Il modulo del sistema operativo in Python consente inoltre agli sviluppatori di estrarre i nomi di file e cartelle insieme alle estensioni di file. I frammenti seguenti illustrano l'uso di os.path.split e os.path.splitext a questo proposito.

>>> dir = os.path.join(os.environ['HOME'], 'test', 'root', 'api', 'file1.txt')
>>> dirname, basename = os.path.split(dir)
>>> print(dirname)
>>> print(basename)

Usa il codice seguente per estrarre estensioni come .txt o .mp3 dai nomi dei file.

>>> filename, extension = os.path.splitext(basename)
>>> print(filename)
>>> print(extension)

Uso vario del sistema operativo Python

Il modulo OS offre molte funzioni aggiuntive per manipolare cose come i processi utente e il pianificatore di lavori. Ad esempio, puoi ottenere rapidamente l'UID (ID utente) del processo corrente utilizzando il pulsante testimoniato funzione.

>>> os.getuid()
>>> os.getgid()

Il getgid La funzione restituisce l'ID di gruppo del processo in esecuzione. Utilizzo getpid per ottenere il PID (ID processo) e getppid per ottenere l'ID del processo padre.

>>> os.getpid()
>>> os.getppid()

Puoi anche utilizzare il modulo OS per modificare i permessi di file e directory dal tuo programma Python. Utilizzare il chmod funzione del sistema operativo per farlo.

>>> os.chmod('file1.txt', 0o444)

Questo comando cambia il permesso di file1.txt a 0444 . Utilizzo 0o444 invece di 0444 per assicurarsi che l'istruzione sia compatibile con entrambe le versioni principali di Python.

Sfrutta la potenza del sistema operativo Python

Il modulo OS di Python fornisce tutto il necessario per interagire con il sistema operativo sottostante. È necessaria una chiara comprensione del sistema operativo per scrivere programmi veramente multipiattaforma. Abbiamo coperto alcune delle funzionalità principali fornite da questo modulo per aiutarti a iniziare. Provali al tuo ritmo e non dimenticare di armeggiare con loro.

Condividere Condividere Tweet E-mail Come creare e utilizzare tuple in Python

Pronto a portare la tua codifica Python al livello successivo? È tempo di capire come creare e utilizzare le tuple.

Leggi Avanti
Argomenti correlati
  • Programmazione
  • Pitone
Circa l'autore Rubaiat Hossain(39 articoli pubblicati)

Rubaiat è un laureato in CS con una forte passione per l'open-source. Oltre ad essere un veterano di Unix, si occupa anche di sicurezza di rete, crittografia e programmazione funzionale. È un appassionato collezionista di libri di seconda mano e ha un'ammirazione infinita per il rock classico.

Altro da Rubaiat Hossain

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti