Kaj je modul OS Python in kako ga uporabljate?

Kaj je modul OS Python in kako ga uporabljate?

Modul OS v Pythonu omogoča dostop do sistemsko specifičnih funkcij za obravnavo datotečnega sistema, procesov, razporejevalnika itd. Morate obvladati sistem OS Python za pisanje aplikacij, ki obravnavajo težave v resničnem svetu. Ta priročnik obravnava nekatere osnovne koncepte in ponazarja uporabo sistemskega ukaza Python.





Značilnosti sistema OS Python

Sistem OS služi kot prenosni način interakcije z osnovnim operacijskim sistemom. Ponuja dostop do imen datotek, argumentov ukazne vrstice, spremenljivk okolja, parametrov procesa in hierarhije datotečnega sistema skupaj z drugimi funkcionalnostmi.





Ta modul vsebuje tudi dva podmodula, modul os.sys in modul os.path. Funkcije, ki jih ponuja modul OS, lahko uporabite za izvajanje širokega spektra nalog. Nekatere običajne uporabe vključujejo izvajanje ukazov lupine, upravljanje datotek in imenikov, procese drstenja itd.





Prvi koraki z modulom OS

Najlažji način raziskovanja modula OS je tolmač. Modul lahko uvozite tja in uporabljate sistemske funkcije brez pisanja izvorne kode. Za to pa morate imeti nameščen Python. Zato nadaljujte in namestite Python na lokalni računalnik.

Povezano: Kako namestiti Python na Ubuntu



Tolmača zaženite z vnosom python v terminalu ali ukazni lupini. Ko je odprt, uvozite modul OS z naslednjo izjavo.

časovna omejitev nadzorne ure ura računalniškega simulatorja
>>> import os

Zdaj lahko dostopate do funkcij, ki jih ponuja modul OS, vključno s Pythonom sistem ukaz. Sistemsko platformo lahko na primer določite s pomočjo ime ukaz. Spodnji primer prikazuje, kako priklicati sistemske ukaze, ki jih razkrije modul OS.





>>> os.name

Ta funkcija preveri, ali so prisotni določeni moduli, specifični za OS, in na podlagi tega določi platformo. Uporabi uname funkcijo za pridobivanje podrobnih informacij.

>>> os.uname()

Ta ukaz prikazuje natančno sistemsko platformo skupaj s podatki o arhitekturi stroja, izdaji in različici. Uporabi getcwd funkcijo za pridobivanje trenutnega delovnega imenika.





>>> os.getcwd()

Delovni imenik lahko preprosto spremenite s sistemskim ukazom Python chdir . Novo lokacijo posredujte kot parameter niza.

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

The mkdir funkcija modula OS omogoča preprosto ustvarjanje novih imenikov. Omogoča nam tudi ustvarjanje rekurzivnih map, kar pomeni, da bo Python ustvaril vse manjkajoče imenike, ki so starši listnega imenika.

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

Uporabi rmdir ukaz za brisanje imenikov iz delovnega imenika.

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

Primeri sistemskega ukaza Python

Sistemski ukaz, ki ga ponuja modul OS, programerjem omogoča izvajanje ukazov lupine. Ime ukaza morate določiti kot niz. Ko enkrat pokličete python sistem ukaz, bo izvedel dani ukaz v novi podljuski.

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

Z isto metodo lahko zaženete druge samostojne aplikacije. Naslednji primer izvaja terminalski urejevalnik nano iz lupine Python.

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

Sistem Python OS oddaja tudi vrnilno kodo za vsak izvedeni ukaz. Sistemi POSIX vrnejo 0 za uspešno izvedbo in vrednosti, ki niso enake nič, kar kaže na težave.

Sistem OS v Pythonu lahko uporabite za zagon vsega, kar želite. Na primer, če mora vaš program prebrati informacije o različici programa na uporabniškem računalniku, lahko naredite nekaj takega.

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

Spodnji primer izvaja preprost ukaz lupine, ki ustvari novo datoteko, imenovano users.txt in ga napolni z vsemi prijavljenimi uporabniki. Veliko programov Python to počne.

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

Ime ukaza posredujemo sistemu OS kot niz. Uporabite lahko vse vrste uporabne terminalske ukaze na enak način.

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

Uporabite lahko tudi podproces poziva k izvajanju sistemskih ukazov iz Pythona. To zagotavlja več dodatnih prednosti, vključno s hitrejšim časom izvajanja, boljšim ravnanjem z napakami, razčlenjevanjem izhodov in ukazih lupine cevovodov. Uradna dokumentacija Pythona priporoča tudi klic podprocesa nad starejšimi moduli, kot je os.sistema in os.spawn .

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

Upravljanje datotek in imenikov prek modula OS

Pokazali smo, kako z modulom OS Python ustvariti preproste datoteke in imenike. Kaj pa, če želite ustvariti ugnezdene mape? Za nas programerje to skrbi tudi sistem OS. Spodnji delčki na primer ustvarijo mapo $ HOME/test/root/api . Prav tako bo ustvaril potrebne nadrejene imenike, če niso na voljo.

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

Najprej smo z uporabo priklicali domači imenik približno in se nato pridružila imenom map prek os.path.join . Izjava o tiskanju prikazuje ime mape in makedirji ustvarja.

Novi imenik si lahko ogledamo z listdir način modula OS.

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

Imenik api lahko preprosto preimenujete z preimenovati ukaz, ki ga ponuja modul OS. Spodnja izjava preimenuje imenik api v test-api.

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

Uporabi isfile in ime funkcijo OS, če mora vaš program preveriti določene datoteke ali imenike.

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

Modul OS v Pythonu razvijalcem omogoča tudi ekstrahiranje imen datotek in map poleg razširitev datotek. Spodnji delčki ponazarjajo uporabo os.path.split in os.path.splitext v zvezi s tem.

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

S spodnjo kodo izvlecite razširitve, kot sta .txt ali .mp3 iz imen datotek.

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

Razna uporaba sistema Python OS

Modul OS ponuja številne dodatne funkcije za upravljanje stvari, kot so uporabniški procesi in razporejevalnik opravil. Na primer, lahko hitro dobite UID (ID uporabnika) trenutnega procesa z uporabo priča funkcijo.

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

The postani nejevoljen funkcija vrne ID skupine izvajanega procesa. Uporaba getpid za pridobitev PID (id procesa) in getppid pridobiti ID nadrejenega procesa.

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

Modul OS lahko uporabite tudi za spreminjanje dovoljenj za datoteke in imenike iz vašega programa Python. Uporabi chmod funkcijo OS za to.

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

Ta ukaz spremeni dovoljenje za file1.txt do 0444 . Uporaba 0o444 namesto 0444 da se prepričate, da je izjava združljiva v obeh večjih različicah Pythona.

Izkoristite moč sistema Python OS

Modul OS Python ponuja vse, kar potrebujete za interakcijo z osnovnim operacijskim sistemom. Jasno razumevanje sistema OS je potrebno za pisanje resnično cross-platform programov. Za začetek smo obravnavali nekatere osnovne funkcije, ki jih ponuja ta modul. Preizkusite jih v svojem tempu in ne pozabite se poigrati z njimi.

Deliti Deliti Cvrkutati E-naslov Kako ustvariti in uporabiti nabore v Pythonu

Ste pripravljeni svoje kodiranje Python dvigniti na naslednjo stopnjo? Čas je, da razumete, kako ustvarjati in uporabljati nabore.

Preberite Naprej
Sorodne teme
  • Programiranje
  • Python
O avtorju Rubaiat Hossain(39 objavljenih člankov)

Rubaiat je diplomant CS z močno strastjo do odprtokodnosti. Poleg tega, da je veteran Unixa, se ukvarja tudi z varnostjo omrežij, kriptografijo in funkcionalnim programiranjem. Je navdušen zbiratelj rabljenih knjig in nenehno občuduje klasični rock.

Več od Rubaiat Hossain

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, če se želite naročiti