Modulul OS din Python oferă acces la funcții specifice sistemului pentru gestionarea sistemului de fișiere, a proceselor, a planificatorului etc. Trebuie să stăpâniți sistemul de operare Python 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 o modalitate 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 comune includ executarea comenzilor shell, gestionarea fișierelor și directoarelor, procesele de reproducere, etc.
Noțiuni introductive despre modulul de operare
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.
>>> 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 recupera 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')
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 = 'data'
>>> os.system (cmd)
Puteți rula alte aplicații independente folosind aceeași metodă. Următorul exemplu execută editor terminal nano din shell-ul 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 fișier nou numit users.txt și îl populează cu toți utilizatorii conectați. O mulțime de programe Python fac aceste lucruri.
>>> os.system ('utilizatori> 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. Aceasta oferă mai multe avantaje suplimentare, incluzând un timp de execuție 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ă subprocesul
>>> 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)
Mai întâi, am recuperat directorul de acasă folosind mediu ș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 isdir 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 (nume de bază)
Utilizați codul de mai jos pentru a extrage extensii precum .txt sau .mp3 din numele fișierelor.
>>> nume de fișier, extensie = os.path.splitext (nume de bază)
>>> tipăriți (numele fișierului)
>>> print (extensie)
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 folosind getuid funcţie.
>>> os.getuid ()
>>> os.getgid ()
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.
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.
- Programare
- Piton
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.
Aboneaza-te la newsletter-ul nostru
Alăturați-vă newsletterului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!
Încă un pas…!
Vă rugăm să confirmați adresa de e-mail în e-mailul pe care tocmai vi l-am trimis.