Ce este modulul de operare Python și cum îl utilizați?

Ce este modulul de operare Python și cum îl utilizați?

Modulul OS din Python oferă acces la funcții specifice sistemului pentru a face față sistemului de fișiere, proceselor, planificatorului etc. Trebuie să stăpâniți sistemul Python OS pentru scrierea aplicațiilor care se ocupă de probleme din lumea reală. Acest ghid discută câteva dintre conceptele de bază și ilustrează modul de utilizare a comenzii de sistem Python.





Caracteristici ale sistemului de operare Python

Sistemul de operare servește ca un mod portabil de interacțiune cu sistemul de operare subiacent. Oferă acces la nume de fișiere, argumente de linie de comandă, variabile de mediu, parametri de proces și ierarhie a sistemului de fișiere alături de alte funcționalități.





Acest modul conține, de asemenea, două sub-module, modulul os.sys și modulul os.path. Puteți utiliza funcțiile furnizate de modulul OS pentru efectuarea unei game largi de sarcini. Unele utilizări obișnuite includ executarea comenzilor shell, gestionarea fișierelor și directoarelor, procesele de generare etc.





Noțiuni introductive despre modulul OS

Cel mai simplu mod de a explora modulul OS este prin intermediul interpretului. Puteți importa modulul acolo și utiliza funcțiile sistemului fără a scrie cod sursă. Totuși, trebuie să aveți instalat Python. Deci, mergeți mai departe și instalați Python pe mașina dvs. locală.

Legate de: Cum se instalează Python pe Ubuntu



Porniți interpretul tastând piton în terminalul dvs. sau în shell-ul de comandă. Odată ce este deschis, importați modulul OS utilizând următoarea declarație.

cum să permiți blițul în crom
>>> import os

Acum puteți accesa funcționalitățile oferite de modulul OS, inclusiv Python sistem comanda. De exemplu, puteți determina platforma sistemului folosind Nume comanda. Exemplul de mai jos arată cum să invocați comenzile de sistem expuse de modulul OS.





>>> os.name

Această funcție verifică dacă sunt prezente anumite module specifice sistemului de operare și determină platforma pe baza acestuia. Folosește uname funcție pentru a obține informații detaliate.

>>> os.uname()

Această comandă afișează platforma de sistem exactă alături de arhitectura mașinii, versiunea și informațiile despre versiune. Folosește getcwd funcție pentru a prelua directorul de lucru curent.





>>> os.getcwd()

Puteți schimba cu ușurință directorul de lucru folosind comanda de sistem Python chdir . Treceți noua locație ca parametru șir.

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

The mkdir Funcția modulului OS face ca crearea de directoare noi să fie simplă. De asemenea, ne permite să creăm foldere recursive, ceea ce înseamnă că Python va crea toate directoarele lipsă, care sunt părinți directorului leaf.

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

Folosește rmdir comanda pentru a șterge directoarele din directorul dvs. de lucru.

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

Exemple de comandă de sistem Python

Comanda de sistem furnizată de modulul OS permite programatorilor să execute comenzi shell. Asigurați-vă că definiți numele comenzii ca un șir. Odată ce ați chemat pitonul sistem comanda, va rula comanda dată într-un subshell nou.

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

Puteți rula alte aplicații independente folosind aceeași metodă. Următorul exemplu execută editorul de terminal nano din shell-ul dvs. Python.

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

Sistemul de operare Python transmite, de asemenea, codul de returnare pentru fiecare comandă executată. Sistemele POSIX returnează 0 pentru executarea cu succes și valori diferite de zero pentru a indica probleme.

Puteți utiliza sistemul de operare din Python pentru a rula orice doriți. De exemplu, dacă programul dvs. trebuie să citească informațiile despre versiunea unui program pe computerul utilizatorului, puteți face ceva de genul următor.

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

Exemplul de mai jos execută o comandă shell simplă care creează un nou fișier numit users.txt și îl populează cu toți utilizatorii conectați. O mulțime de programe Python fac aceste lucruri.

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

Transmitem numele comenzii către sistemul de operare ca șir. Puteți utiliza toate tipurile de comenzi utile ale terminalului în același mod.

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

Puteți utiliza, de asemenea subproces solicită executarea comenzilor de sistem din Python. Acest lucru oferă mai multe avantaje suplimentare, incluzând un timp de rulare mai rapid, o mai bună gestionare a erorilor, analiza ieșirilor și comenzi de shell ale canalelor. Documentația oficială a Python recomandă, de asemenea, apelarea subprocesului pe module mai vechi, cum ar fi os.sistem și os.spawn .

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

Gestionarea fișierelor și a directoarelor prin modulul OS

Am arătat cum să creați fișiere și directoare simple folosind modulul Python OS. Ce se întâmplă dacă doriți să creați foldere imbricate? Sistemul de operare se ocupă și de acest lucru pentru noi, programatorii. De exemplu, fragmentele de mai jos creează folderul $ HOME / test / root / api . De asemenea, va crea directoarele părinte necesare dacă nu sunt disponibile.

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

În primul rând, am preluat directorul principal folosind despre și apoi a alăturat numele folderelor prin os.path.join . Declarația de tipărire afișează numele folderului și makedirs îl creează.

Putem vizualiza noul director folosind listdir metoda modulului OS.

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

Puteți redenumi cu ușurință directorul api folosind redenumiți comandă oferită de modulul OS. Instrucțiunea de mai jos redenumește acest director api în test-api.

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

Folosește este fișier și Nume funcția sistemului de operare dacă programul dvs. trebuie să valideze anumite fișiere sau directoare.

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

Modulul OS din Python permite, de asemenea, dezvoltatorilor să extragă numele fișierelor și folderelor alături de extensiile de fișiere. Fragmentele de mai jos ilustrează utilizarea os.path.split și os.path.splitext în această privință.

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

Utilizați codul de mai jos pentru a extrage extensii precum .txt sau .mp3 din numele fișierelor.

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

Utilizarea diversă a sistemului de operare Python

Modulul OS oferă multe funcții suplimentare pentru manipularea unor lucruri precum procesele utilizatorilor și programatorul de lucrări. De exemplu, puteți obține rapid UID-ul (id-ul de utilizator) al procesului curent utilizând martor funcţie.

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

The getgid funcția returnează ID-ul grupului procesului care rulează. Utilizare obraznic pentru obținerea PID (ID proces) și înfiorat pentru a obține ID-ul procesului părinte.

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

De asemenea, puteți utiliza modulul OS pentru modificarea permisiunilor fișierelor și directoarelor din programul dvs. Python. Folosește chmod funcția sistemului de operare pentru a face acest lucru.

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

Această comandă modifică permisiunea file1.txt la 0444 . Utilizare 0o444 in loc de 0444 pentru a vă asigura că declarația este compatibilă în ambele versiuni majore ale Python.

Utilizați puterea sistemului de operare Python

Modulul de operare Python vă oferă tot ce aveți nevoie pentru a interacționa cu sistemul de operare subiacent. Este necesară o înțelegere clară a sistemului de operare pentru a scrie programe cu adevărat pe mai multe platforme. Am acoperit câteva dintre funcționalitățile de bază oferite de acest modul pentru a vă ajuta să începeți. Încearcă-le în ritmul tău și nu uita să te joci cu ele.

Acțiune Acțiune Tweet E-mail Cum se creează și se utilizează Tuples în Python

Sunteți gata să vă duceți codificarea Python la nivelul următor? Este timpul să înțelegeți cum să creați și să utilizați tupluri.

Citiți în continuare
Subiecte asemănătoare
  • Programare
  • Piton
Despre autor Rubaiat Hossain(39 articole publicate)

Rubaiat este un absolvent de CS cu o pasiune puternică pentru open-source. În afară de faptul că este un veteran Unix, el se ocupă și de securitatea rețelelor, criptografie și programare funcțională. Este un colecționar avid de cărți second-hand și are o admirație nesfârșită pentru rockul clasic.

Mai multe de la Rubaiat Hossain

Aboneaza-te la newsletter-ul nostru

Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Faceți clic aici pentru a vă abona