Il modulo OS di Python fornisce funzioni semplici che ci permettono di interagire e ottenere informazioni sul sistema operativo e persino controllare processi fino a un certo limite.
Modulo OS di Python
Le funzioni fornite dal modulo OS ci consentono di operare su compiti del sistema operativo sottostante, indipendentemente che si tratti di una piattaforma Windows, Macintosh o Linux. In questa lezione, esamineremo queste funzioni e cosa possiamo fare con esse. Iniziamo il nostro viaggio con queste funzioni e le informazioni che offrono.
Importazione di os in Python
Si prega di notare che prima di tutto dobbiamo importare il modulo OS nel nostro programma, solo così possiamo eseguire qualsiasi delle sue funzioni.
os.name
Questa funzione restituisce il nome del modulo OS che importa. Questo varia in base al sistema operativo sottostante. Attualmente, registra ‘posix’, ‘os2’, ‘ce’, ‘nt’, ‘riscos’ e ‘java’. Eseguiamo questo sul sistema:
>>> print(os.name)
posix
Chiaramente, questo può produrre piattaforme diverse in base all’interprete.
os.environ
environ
non è una funzione ma un parametro di processo tramite il quale possiamo accedere alle variabili d’ambiente del sistema. Vediamo un esempio di codice:
import os
output = os.environ['HOME']
print(output)
Quando eseguiamo questo script, l’output sarà il seguente: Possiamo usarlo per lavorare con le variabili d’ambiente, leggi di più su Variabile d’ambiente di impostazione di Python.
os.execvp
execvp
è una delle modalità per eseguire altri comandi sul sistema. Vediamo un esempio di codice per questa funzione:
import os
program = "python"
arguments = ["hello.py"]
print(os.execvp(program, (program,) + tuple(arguments)))
Per questo, abbiamo appena creato uno script di esempio come hello.py
con il seguente codice:
print('Hello')
Quando eseguiamo questo script, questo sarà l’output:
os.getuid
Questa funzione del modulo os restituisce l’ID utente o UID del processo corrente, come è comunemente conosciuto.
>>> os.getuid()
501
Quindi, l’ID del processo shell corrente è 501.
os.rename
Con la funzione di rinomina di Python os, possiamo facilmente rinominare un file.
import os
fileDir = "JournalDev.txt"
os.rename(fd,'JournalDev_Hi.txt')
Nota che per questo, dobbiamo fornire le autorizzazioni corrette al nostro script.
os.system
La funzione di sistema os di Python ci consente di eseguire un comando nello script Python, proprio come se lo stessi eseguendo nella mia shell. Per esempio:
import os
currentFiles = os.system("users > users.txt")
Quando ho eseguito questo script, è stato creato un nuovo file nella stessa directory con nome users.txt e contenuto String come ‘shubham’ poiché questo è restituito anche dalla shell originale: Nota che questo è un comando molto potente e dovrebbe essere usato con cautela.
os.error
La classe di errore del modulo os di Python è la classe di base per gli errori correlati all’I/O. Quindi possiamo catturare gli errori di I/O utilizzando OSError nella clausola except.
import os
try:
f = open('abc.txt', 'r') # file is missing
except OSError:
print('Error')
os.getpid
Questa funzione restituisce l’ID del processo corrente o PID, come è comunemente conosciuto.
>>> os.getpid()
71622
Quindi, l’ID utente del processo shell corrente è 71622.
os.listdir
Questa funzione elenca semplicemente i file e le directory presenti nella directory di lavoro corrente.
>>> import os
>>> os.listdir()
['.DS_Store', '.localized', 'JournalDev', 'Java', 'Python']
Restituisce un elenco iterabile di nomi di directory e file.
os.uname
Questa funzione restituisce informazioni che identificano il sistema operativo corrente su cui viene eseguito.
>>> os.uname()
posix.uname_result(sysname='Darwin', nodename='Shubham.local', release='17.2.0', version='Darwin Kernel Version 17.2.0: Fri Sep 29 18:27:05 PDT 2017; root:xnu-4570.20.62~3/RELEASE_X86_64', machine='x86_64')
Questo è stato piuttosto dettagliato in realtà.
import os.path vs import os
os.path
funziona in modo strano effettivamente. Sembra che os
sia confezionato con un sotto-modulo path
, ma in realtà, os
è un modulo normale che opera con sys.module
per supportare os.path
. Vediamo cosa succede dietro le quinte:
- Quando Python si avvia, carica molti moduli in
sys.module
. - Il modulo
os
viene caricato anche all’avvio di Python. Assegna il suopath
all’attributo specifico del moduloos
. - Introduce
sys.modules['os.path'] = path
in modo che tu possa fareimport os.path
come se fosse un sotto-modulo.
Riepilogo
In questa lezione, abbiamo letto su varie funzioni fornite dal modulo OS in Python e abbiamo visto come funzionano. Per ulteriori lezioni su Python, consulta qui. Riferimento: Documentazione API
Source:
https://www.digitalocean.com/community/tutorials/python-os-module