„Python“ OS modulis suteikia prieigą prie konkrečios sistemos funkcijų, skirtų tvarkyti failų sistemą, procesus, tvarkaraštį ir kt. Turite įvaldyti „Python“ OS sistemą, kad galėtumėte rašyti programas, kurios sprendžia realaus pasaulio problemas. Šiame vadove aptariamos kai kurios pagrindinės sąvokos ir parodoma, kaip naudoti „Python“ sistemos komandą.

„Python OS“ sistemos ypatybės

OS sistema yra nešiojamas sąveikos su pagrindine operacine sistema būdas. Ji suteikia prieigą prie failų pavadinimų, komandinės eilutės argumentų, aplinkos kintamųjų, proceso parametrų ir failų sistemos hierarchijos kartu su kitomis funkcijomis.

Šiame modulyje taip pat yra du submoduliai, os.sys modulis ir os.path modulis. Galite naudoti OS modulio teikiamas funkcijas atlikdami įvairiausias užduotis. Kai kurie įprasti naudojimo būdai apima „shell“ komandų vykdymą, failų ir katalogų valdymą, neršto procesaiir kt.

Darbo su OS moduliu pradžia

Lengviausias būdas ištirti OS modulį yra per vertėją. Jūs galite importuoti modulį ten ir naudoti sistemos funkcijas nerašydami šaltinio kodo. Vis dėlto tam reikia turėti „Python“. Taigi eikite į priekį ir įdiekite „Python“ į savo vietinę mašiną.

instagram viewer

Susijęs: Kaip įdiegti „Python“ į „Ubuntu“

Paleiskite vertėją rašydami pitonas jūsų terminale ar komandų apvalkale. Kai jis bus atidarytas, importuokite OS modulį naudodami šį teiginį.

>>> importuoti os

Dabar galite pasiekti OS modulio teikiamas funkcijas, įskaitant „Python“ sistema komandą. Pvz., Galite nustatyti sistemos platformą naudodami vardas komandą. Žemiau pateiktame pavyzdyje parodyta, kaip iškviesti sistemos komandas, kurias veikia OS modulis.

>>> os.pavadinimas

Ši funkcija patikrina, ar yra tam tikrų OS specifinių modulių, ir pagal tai nustato platformą. Naudoti uname funkcija gauti išsamią informaciją.

>>> os.uname ()

Ši komanda kartu su mašinos architektūra, leidimu ir versija pateikia tikslią sistemos platformą. Naudoti getcwd funkciją, kad gautumėte dabartinį darbo katalogą.

>>> os.getcwd ()

Naudodami „Python“ sistemos komandą, galite lengvai pakeisti darbinį katalogą chdir. Perduokite naują vietą kaip eilutės parametrą.

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

mkdir OS modulio funkcija leidžia nesudėtingai kurti naujus katalogus. Tai taip pat leidžia mums kurti rekursinius aplankus, o tai reiškia, kad „Python“ sukurs visus trūkstamus katalogus, kurie yra „leaf“ katalogo tėvai.

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

Naudoti rmdir komanda ištrinti katalogus iš savo darbo katalogo.

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

Python os modulio pagrindai

„Python“ sistemos komandos pavyzdžiai

OS modulio teikiama sistemos komanda leidžia programuotojams vykdyti apvalkalo komandas. Įsitikinkite, kad komandos pavadinimas apibrėžtas kaip eilutė. Kai paskambinsite pitonui sistema komandą, ji vykdys nurodytą komandą naujame korpuse.

>>> cmd = 'data'
>>> os. sistema (cmd)

Tuo pačiu metodu galite paleisti kitas atskiras programas. Šis pavyzdys vykdo terminalo redaktorius nano iš jūsų „Python“ apvalkalo.

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

„Python OS“ sistema taip pat pateikia kiekvienos vykdomos komandos grąžinimo kodą. POSIX sistemos grąžina 0 už sėkmingą vykdymą ir nenulinės reikšmės nurodo problemas.

Galite naudoti „Python“ OS sistemą norėdami paleisti viską, ko norite. Pavyzdžiui, jei jūsų programai reikia skaityti informaciją apie programos versiją vartotojo kompiuteryje, galite padaryti kažką panašaus į šį.

>>> cmd = 'gcc --versija'
>>> os. sistema (cmd)

Žemiau pateiktame pavyzdyje vykdoma paprasta apvalkalo komanda, sukurianti naują failą, vadinamą vartotojai.txt ir užpildo jį su visais prisijungusiais vartotojais. Šiuos dalykus atlieka daugybė „Python“ programų.

>>> os.system („vartotojai> testas“)

Komandos pavadinimą OS sistemai perduodame kaip eilutę. Galite naudoti visų tipų naudingos terminalo komandos tuo pačiu būdu.

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

Taip pat galite naudoti antrinis procesas kviečia vykdyti sistemos komandas iš „Python“. Tai suteikia keletą papildomų pranašumų, įskaitant greitesnį vykdymą, geresnį klaidų valdymą, išvesties analizavimą ir „shell“ komandų pateikimą. Oficialiose „Python“ dokumentuose taip pat rekomenduojama pakoreguoti senesnius modulius, pvz., os.sistema ir os.

>>> importo antrinis procesas
>>> subprocess.run (["ping", "- c 3", "example.com"])

Failų ir katalogų valdymas per OS modulį

Parodėme, kaip sukurti paprastus failus ir katalogus naudojant „Python OS“ modulį. Ką daryti, jei norite sukurti įdėtus aplankus? OS sistema tuo pasirūpina ir mums, programuotojams. Pavyzdžiui, žemiau pateikti fragmentai sukuria aplanką $ HOME / test / root / api. Taip pat sukurs būtinus pagrindinius katalogus, jei jų nebus.

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

Pirma, mes gavome namų katalogą naudodami aplinka ir tada sujungė aplankų pavadinimus per os.path.prijunkite. Spausdinimo ataskaitoje rodomas aplanko pavadinimas ir makedirai ją kuria.

Naująjį katalogą galime peržiūrėti naudodami listdir OS modulio metodas.

>>> os.chdir (os.path.join (os.environ ['HOME'], 'testas', 'root', 'api'))
>>> os.system ('lietimo failas1 failas2 failas3 failas3')
>>> os.listdir (os.environ ['HOME'])

Galite lengvai pervardyti api katalogą naudodami pervardyti komandą, kurią siūlo OS modulis. Žemiau pateiktame teiginyje šis api katalogas pervadinamas į test-api.

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

Naudoti isfile ir isdir OS funkcija, jei jūsų programa turi patvirtinti konkrečius failus ar katalogus.

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

„Python“ OS modulis taip pat leidžia kūrėjams išgauti failų ir aplankų pavadinimus kartu su failų plėtiniais. Žemiau pateikti fragmentai iliustruoja os.path.split ir os.path.splitext šiuo atžvilgiu.

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

Norėdami iš failų pavadinimų išskleisti plėtinius, pvz., .Txt ar .mp3, naudokite žemiau pateiktą kodą.

>>> failo vardas, plėtinys = os.path.splitext (bazename)
>>> spausdinti (failo pavadinimas)
>>> spausdinti (plėtinys)

Įvairus „Python“ OS sistemos naudojimas

OS modulis siūlo daug papildomų funkcijų, skirtų manipuliuoti tokiais dalykais kaip vartotojo procesai ir darbo planavimo priemonė. Pavyzdžiui, galite greitai gauti dabartinio proceso UID (vartotojo ID) naudodami getuid funkcija.

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

getgid funkcija grąžina vykstančio proceso grupės ID. Naudokite getpid gauti PID (proceso ID) ir getppid gauti pirminio proceso ID.

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

Taip pat galite naudoti OS modulį keisdami „Python“ programos failų ir katalogų teises. Naudoti chmod OS funkcija tai padaryti.

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

Ši komanda keičia file1.txt į 0444. Naudokite 0o444 vietoj 0444 įsitikinkite, kad teiginys suderinamas su visomis pagrindinėmis „Python“ versijomis.

Pasinaudokite „Python“ OS sistemos galia

„Python“ OS modulis suteikia viską, ko reikia norint sąveikauti su pagrindine operacine sistema. Norint parašyti tikrai daugiaplatformes programas, reikia aiškiai suprasti OS sistemą. Apžvelgėme kai kurias pagrindines šio modulio teikiamas funkcijas, kad galėtumėte lengviau pradėti. Išmėginkite juos savo ritmu ir nepamirškite jų tinkuoti.

El
Kaip sukurti ir naudoti „Python“ rinkinius

Pasirengę perkelti „Python“ kodavimą į kitą lygį? Atėjo laikas suprasti, kaip sukurti ir naudoti rinkinius.

Susijusios temos
  • Programavimas
  • „Python“
Apie autorių
Rubaiatas Hossainas (Paskelbti 8 straipsniai)

„Rubaiat“ yra CS laipsnio laipsnis, turintis didelę aistrą atviriems kodams. Be to, kad yra „Unix“ veteranas, jis taip pat užsiima tinklo saugumu, kriptografija ir funkciniu programavimu. Jis yra aistringas dėvėtų knygų kolekcionierius ir nesibaigiantis susižavėjimas klasikiniu roku.

Daugiau iš „Rubaiat Hossain“

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kuriame rasite techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Dar vienas žingsnis…!

Prašome patvirtinti savo el. Pašto adresą el. Laiške, kurį jums ką tik išsiuntėme.

.