Modulo os di Python

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 suo path all’attributo specifico del modulo os.
  • Introduce sys.modules['os.path'] = path in modo che tu possa fare import 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