Kas yra „Python“ OS modulis ir kaip jį naudoti?

Kas yra „Python“ OS modulis ir kaip jį naudoti?

„Python“ OS modulis suteikia prieigą prie konkrečiai sistemai skirtų funkcijų, skirtų tvarkyti failų sistemą, procesus, planuotoją ir kt. Turite įsisavinti „Python“ OS sistemą, skirtą 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 būdas bendrauti su pagrindine operacine sistema. Kartu su kitomis funkcijomis ji suteikia prieigą prie failų pavadinimų, komandų eilutės argumentų, aplinkos kintamųjų, proceso parametrų ir failų sistemos hierarchijos.





Šiame modulyje taip pat yra du submoduliai-os.sys modulis ir os.path modulis. OS modulio teikiamas funkcijas galite naudoti įvairiems uždaviniams atlikti. Kai kurie paplitę naudojimo būdai apima apvalkalo komandų vykdymą, failų ir katalogų valdymą, neršto procesus ir kt.





Darbo su OS moduliu pradžia

Lengviausias būdas ištirti OS modulį yra per vertėją. Galite importuoti modulį ten ir naudoti sistemos funkcijas nerašydami šaltinio kodo. Tačiau tam reikia įdiegti „Python“. Taigi eikite į priekį ir įdiekite „Python“ savo vietinėje mašinoje.

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



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

rasti mano telefoną windowsphone com
>>> import os

Dabar galite pasiekti OS modulio teikiamas funkcijas, įskaitant „Python“ sistema komandą. Pavyzdžiui, galite nustatyti sistemos platformą naudodami vardas komandą. Žemiau pateiktame pavyzdyje parodyta, kaip iškviesti OS komandas rodomas sistemos komandas.





>>> os.name

Ši funkcija patikrina, ar yra tam tikrų OS modulių, ir pagal tai nustato platformą. Naudoti uname funkciją, kad gautumėte išsamią informaciją.

>>> os.uname()

Ši komanda rodo tikslią sistemos platformą kartu su mašinos architektūra, leidimu ir versijos informacija. Naudoti getcwd funkcija, skirta nuskaityti esamą darbo katalogą.





>>> os.getcwd()

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

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

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

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

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

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

Python sistemos komandos pavyzdžiai

Sistemos komanda, kurią teikia OS modulis, leidžia programuotojams vykdyti apvalkalo komandas. Būtinai apibrėžkite komandos pavadinimą kaip eilutę. Kartą paskambinus pitonui sistema komandą, ji paleis nurodytą komandą naujame pakelyje.

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

Naudodami tą patį metodą, galite paleisti kitas atskiras programas. Šis pavyzdys vykdo terminalo redaktorių nano iš jūsų „Python“ apvalkalo.

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

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

Galite naudoti „Python“ OS sistemą norėdami paleisti viską, ko norite. Pvz., Jei jūsų programai reikia perskaityti programos versijos informaciją vartotojo kompiuteryje, galite atlikti kažką panašaus.

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

Žemiau pateiktas pavyzdys vykdo paprastą apvalkalo komandą, kuri sukuria naują failą pavadinimu users.txt ir užpildo ją visiems prisijungusiems vartotojams. Daugelis „Python“ programų atlieka šiuos veiksmus.

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

Komandos pavadinimą perduodame OS sistemai 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 papildomas procesas ragina vykdyti sistemos komandas iš „Python“. Tai suteikia keletą papildomų privalumų, įskaitant greitesnį vykdymo laiką, geresnį klaidų tvarkymą, išvesties analizavimą ir vamzdžių apvalkalo komandas. Oficialiose „Python“ dokumentacijose taip pat rekomenduojamas papildomo proceso iškvietimas naudojant senesnius modulius, tokius kaip os.sistema ir os.spawn .

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

Failų ir katalogų tvarkymas naudojant OS modulį

Mes 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 mes, programuotojai. Pavyzdžiui, žemiau esantys fragmentai sukuria aplanką $ HOME/test/root/api . Ji taip pat sukurs reikiamus pirminius katalogus, jei jų nėra.

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

Pirma, mes gavome namų katalogą naudodami apie ir tada prisijungė prie aplankų pavadinimų per os.path.prisijungti . Spausdinimo pareiškime rodomas aplanko pavadinimas ir makedirs ją sukuria.

Mes galime peržiūrėti naują katalogą naudodami listdir OS modulio metodas.

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

Galite lengvai pervardyti api katalogą naudodami pervadinti komandą, kurią siūlo OS modulis. Žemiau pateiktas teiginys pervardija šį api katalogą į test-api.

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

Naudoti isfile ir vardas OS funkcija, jei jūsų programai reikia patvirtinti konkrečius failus ar katalogus.

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

„Python“ OS modulis taip pat leidžia kūrėjams išgauti failų ir aplankų pavadinimus kartu su failų plėtiniais. Žemiau esantys fragmentai iliustruoja naudojimą 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)
>>> print(dirname)
>>> print(basename)

Naudokite žemiau esantį kodą, kad iš failų pavadinimų išskleistumėte plėtinius, tokius kaip .txt arba .mp3.

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

Įvairūs „Python“ OS sistemos naudojimo būdai

OS modulis siūlo daugybę papildomų funkcijų, skirtų manipuliuoti tokiais dalykais kaip vartotojo procesai ir darbų planuotojas. Pavyzdžiui, galite greitai gauti dabartinio proceso UID (vartotojo ID) naudodami liudininku funkcija.

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

The getgid funkcija grąžina vykdomo proceso grupės ID. Naudoti kvailas norint gauti PID (proceso ID) ir nusiteikęs gauti pirminio proceso ID.

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

Taip pat galite naudoti OS modulį, kad pakeistumėte failų ir katalogų leidimus iš savo „Python“ programos. Naudoti chmod OS funkcija tai padaryti.

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

Ši komanda pakeičia leidimą file1.txt į 0444 . Naudoti 0o444 vietoj 0444 kad įsitikintumėte, jog pareiškimas yra suderinamas abiejose pagrindinėse „Python“ versijose.

Pasinaudokite „Python“ OS sistemos galia

„Python“ OS modulis suteikia viską, ko reikia sąveikai su pagrindine operacine sistema. Norint rašyti tikrai kelių platformų programas, reikia aiškiai suprasti OS sistemą. Apžvelgėme kai kurias pagrindines šio modulio teikiamas funkcijas, kurios padės jums pradėti. Išbandykite juos savo tempu ir nepamirškite su jais susitvarkyti.

Dalintis Dalintis „Tweet“ Paštu Kaip sukurti ir naudoti „Tuples“ „Python“

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

Skaityti toliau
Susijusios temos
  • Programavimas
  • Python
Apie autorių Rubaiat Hossain(Paskelbti 39 straipsniai)

„Rubaiat“ yra CS laipsnis, turintis didelę aistrą atvirojo kodo. Be to, kad yra „Unix“ veteranas, jis taip pat užsiima tinklo saugumu, kriptografija ir funkciniu programavimu. Jis yra aistringas naudotų knygų kolekcionierius ir nesibaigiantis žavėjimasis klasikiniu roku.

Daugiau iš Rubaiat Hossain

Prenumeruokite mūsų naujienlaiškį

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

Norėdami užsiprenumeruoti, spustelėkite čia