Programmazione

9 consigli utili per lavorare con il sistema operativo usando Python

9 consigli utili per lavorare con il sistema operativo usando Python

Ci sono diverse situazioni in cui vogliamo lavorare con il sistema operativo usando Python. Potremmo voler vedere i dettagli dell'utente o voler svolgere alcune attività con i file e le directory. Se sei un amministratore di sistema, troverai utile lavorare con il sistema operativo poiché puoi facilmente automatizzare alcune attività ripetitive del sistema operativo usando Python.

Sebbene le stesse attività possano essere eseguite utilizzando lo scripting di shell di base, ha capacità limitate e non ti darà così tanta potenza come in Python. Inoltre, lo stesso script Python può essere utilizzato ovunque e anche integrare i codici in altri progetti Python. Esiste un vasto numero di moduli per lavorare con il sistema operativo in Python. Alcuni dei moduli che sono inclusi nella libreria standard di Python e funzionano bene con i sistemi operativi sono sistema operativo/percorso, pwd, globo, chiusa, e sottoprocesso.

Prima di iniziare con questo tutorial, devi avere installato Python. Se non lo hai già installato, consulta la nostra guida passo passo per installare Python su Linux.

Recupero delle informazioni sul sistema operativo usando Python

A volte potresti voler recuperare le informazioni necessarie del sistema operativo come il nome utente, l'ID utente o semplicemente il nome del sistema operativo. Inoltre, il programma potrebbe aver bisogno di sapere su quale sistema operativo è in esecuzione in modo che possa modificare le attività per diversi sistemi operativi.

1. Ottenere i dettagli del sistema operativo

Possiamo ottenere dettagli del sistema operativo come piattaforma, nome della distribuzione Linux (se si utilizza Linux), nome del sistema operativo, ecc. usando Python. Per ottenere il nome del sistema operativo, possiamo utilizzare i moduli os o sys. Questi moduli sono inclusi nella libreria standard di Python, quindi non è necessario installarli per l'uso nei nostri progetti. Puoi aprire la shell Python digitando Python o pitone3 nel terminale di sistema.

pitone

O

pitone3

Puoi ottenere il tipo di sistema operativo usando il os libreria eseguendo il seguente codice nella shell python.

>>> importa il sistema operativo >>> os.nome 'posix'

Come puoi vedere, il codice sopra mostrava posix per il sistema operativo Linux. Se stai usando Windows, mostrerà 'nt.'Puoi anche ottenere il nome del sistema operativo usando il modulo sys. Puoi eseguire il seguente codice per vedere come funziona.

>>> sistema di importazione >>> sistema.piattaforma 'linux'

Come puoi vedere, il risultato della funzione piattaforma del modulo sys ha mostrato il nome Linux mentre lo sto usando. Otterrai "win 32" per Windows.

Puoi usare il il tuo nome funzione del modulo os per ottenere una descrizione dettagliata, vedere il codice seguente per vedere come funziona.

>>> import os >>> os.uname() posix.uname_result(sysname='Linux', nodename="kali", release="5.6.0-kali2-amd64", version="#1 SMP Debian 5.6.14-2kali1 (2020-06-10)", macchina="x86_64")

Questo codice ha mostrato che sto usando Kali Linux. Questo codice è disponibile solo per il sistema operativo Linux. Non si applica a Windows.

2. Ottenere il nome utente usando Python

Puoi ottenere il nome dell'accesso utente corrente nel sistema usando Python digitando il seguente codice nella shell python:

>>> import os >>> os.getlogin() 'roshan'

3. Ottenere le dimensioni del terminale

Puoi anche ottenere la dimensione del terminale usando Python. Esegui il seguente codice nella shell python.

>>> import os >>> os.get_terminal_size() sistema operativo.terminal_size(colonne=80, righe=23)

Questo stamperà la dimensione del terminale corrente. Questo scriverà due valori il numero di colonne e il numero di righe. È possibile accedere a singole colonne o righe utilizzando il seguente codice. Copia il seguente programma in un nome file it terminal.py ed eseguilo usando terminale python3.pi.

import os col, righe = os.get_terminal_size() print("Numero di colonne :", col) print("Numero di righe :", righe)

Potresti vedere l'output del programma come mostrato di seguito:-

Produzione

Esecuzione di operazioni di base con file e directory

Diamo ora un'occhiata a come lavorare con i file e le directory usando Python. Python è diventato un linguaggio di programmazione maturo e ora può svolgere compiti per i quali abbiamo bisogno di imparare diversi linguaggi di programmazione. Python è anche bravo ad automatizzare diverse attività relative a file e cartelle e utilizzando i seguenti codici in modo automatico. Puoi eseguire l'automazione come la pulizia delle cartelle, lo spostamento di file con formati specifici da un luogo all'altro, ecc.

4. Ottenere il percorso della directory corrente

Per ottenere il percorso della directory corrente, possiamo usare la funzione getcwd() del modulo os; è molto simile al comando pwd della shell di Linux.

>>> import os >>> os.getcwd() '/home/roshan/Documents/fosslinux'

Come puoi vedere, il codice ha restituito il percorso della directory in cui sto usando la shell python.

5. Elenca tutti i file e le cartelle presenti in una directory

Puoi anche elencare tutti i file e le sottodirectory presenti in una directory. Per elencare i file e le cartelle nella directory corrente, eseguire il codice seguente:

>>>import os >>>os.listadir() 

L'output assomiglia a qualcosa come l'immagine qui sotto. Il codice sopra mostra un elenco python di tutti i file e le directory presenti nella directory di lavoro corrente.

Puoi anche elencare i file e le sottodirectory presenti in un'altra directory fornendo il percorso della directory tra parentesi. Vedere il codice seguente per capire come funziona.

>>>import os >>>os.listadir("/root/Desktop") 

Potresti vedere l'output del codice sopra come mostrato nell'immagine seguente

L'output fornito da listdir("D:/pitone") è un elenco python di tutti i file e le directory presenti nella directory "D:/pitone". Se il percorso della directory che fornisci tra parentesi non esiste nel sistema, solleverà a FileNotFoundError.

6. Creazione di una directory

Per creare una directory usando Python, devi usare il mkdir funzione del modulo del sistema operativo di Python. Vediamo come creare una directory usando Python. Esegui il seguente codice nella shell python.

>>>import os >>>os.mkdir("os")

Questo creerà una directory os nella directory corrente. Se la directory esiste già, otterrai un FileExistError; Potrebbe assomigliare a questo:

Traceback (ultima chiamata più recente): File "", riga 1, in  FileExistsError: [Errno 17] Il file esiste: 'os'

Per una migliore gestione degli errori utilizzando provare e tranne. Devi semplicemente copiare il codice e incollarlo in un file chiamato makedir.py ed esegui il programma python usando il comando python3 makedir.pi nel tuo terminale;

import os percorso = "os" prova: os.mkdir(percorso) print("La directory è stata creata con successo") tranne FileExistsError: print("La directory denominata " + percorso + " esiste già")

Potresti vedere l'output qualcosa di simile nell'immagine seguente:

La differenza tra il primo codice e il codice precedente è che il secondo programma utilizza un metodo try/eccetto per la gestione degli errori. Il ruolo del metodo try/eccetto nel codice sopra è che l'interprete python proverà a eseguire prima il codice sotto il blocco try e se ottiene un FileExistError, allora eseguirà il codice sotto il blocco allow. Questa è una buona pratica usare try/eccetto block in un programma Python in modo da poter rilevare facilmente l'errore ed eseguire il blocco di codice presente nella parte tranne se c'è un errore.

7. Rinomina un file

Puoi anche rinominare un file usando Python. Per rinominare un file, usa la funzione di rinomina del modulo os. La funzione rename accetta due argomenti importanti, il primo argomento è il percorso del file che si desidera rinominare e l'altro file è il nome con cui si desidera rinominare il file originale. Guarda il codice presentato di seguito per vedere come funziona, digita il codice nella shell python e guarda come funziona.

>>>import os >>>os.rinomina("file1.txt,file2.TXT")

Il codice sopra rinominerà il file file1.TXT con il nome file2.TXT. Questo mostrerà un errore se il file file1.TXT non è presente nel percorso indicato, quindi fornire il percorso corretto.

8. Elimina un file

Per eliminare un file, è necessario utilizzare il rimuovere() funzione di os modulo. Guarda il seguente codice per vedere come farlo -

>>>import os >>>os.remove("campione.TXT")

Questo cancellerà il file campione.TXT presente nella directory corrente; puoi anche dare il percorso del file se è presente in altre directory. Se il file non esiste nel percorso indicato, otterrai un FileNotFoundError. Utilizzare il metodo di gestione delle eccezioni delineato nell'argomento secondario precedente per gestire gli errori.

9. Elimina una directory

Se il fornito sentiero è una directory, otterrai OErrore perché questa funzione non può essere utilizzata per rimuovere una directory. Uso rmdir()metodo per rimuovere le directory. Vedere il codice seguente per una migliore illustrazione-

>>>import os >>>os.rmdir("dir_campione")

Il codice sopra rimuoverà la directory denominata sample_dir. Gindicare il percorso delle cartelle se presenti in altre directory per rimuoverle.

Conclusione

Si tratta di vari suggerimenti utili per recuperare efficacemente il sistema operativo e altre informazioni di cui hai bisogno durante l'utilizzo di Python. Quali altri suggerimenti hai che sei disposto a condividere? Fatecelo sapere nei commenti qui sotto. Prima di partire, potresti anche vedere il tutorial su come eseguire il comando della shell con Python, che mostra come usare facilmente i comandi della shell di Linux sotto i programmi python.

Come sviluppare un gioco su Linux
Un decennio fa, non molti utenti Linux avrebbero previsto che il loro sistema operativo preferito un giorno sarebbe diventato una piattaforma di gioco...
Porte open source di motori di gioco commerciali
Ricreazioni del motore di gioco gratuite, open source e multipiattaforma possono essere utilizzate per riprodurre titoli di giochi vecchi e abbastanza...
I migliori giochi da riga di comando per Linux
La riga di comando non è solo il tuo più grande alleato quando usi Linux, ma può anche essere una fonte di intrattenimento perché puoi usarla per gioc...