Pythoni operatsioonisüsteemi moodul pakub juurdepääsu süsteemipõhistele funktsioonidele failisüsteemi, protsesside, ajakava jms käsitlemiseks. Reaalsete probleemidega tegelevate rakenduste kirjutamiseks peate omandama Pythoni OS-süsteemi. Selles juhendis käsitletakse mõningaid põhimõisteid ja illustreeritakse Pythoni süsteemi käsu kasutamist.

Pythoni OS-süsteemi omadused

OS-süsteem toimib kaasaskantava viisina aluseks oleva operatsioonisüsteemiga suhtlemisel. See pakub lisaks muudele funktsioonidele juurdepääsu failinimedele, käsurea argumentidele, keskkonnamuutujatele, protsessi parameetritele ja failisüsteemi hierarhiale.

See moodul sisaldab ka kaht alamoodulit, os.sys moodul ja os.path moodul. OS-mooduli pakutavaid funktsioone saate kasutada paljude ülesannete täitmiseks. Mõned levinud kasutusalad on shellikäskude täitmine, failide ja kataloogide haldamine, kudemisprotsessid, jne.

Alustamine OS-mooduliga

Lihtsaim viis operatsioonisüsteemi mooduli uurimiseks on tõlgi kaudu. Mooduli saate sinna importida ja süsteemi funktsioone kasutada lähtekoodi kirjutamata. Selleks peate siiski installima Pythoni. Nii et jätkake ja installige Python oma kohalikku masinasse.

instagram viewer

Seotud: Kuidas Pythoni installida Ubuntu

Käivitage tõlk tippimisega püüton terminalis või käsureal. Kui see on avatud, importige järgmise mooduli abil OS-moodul.

>>> impordi os

Nüüd pääsete juurde OS-mooduli pakutavatele funktsioonidele, sealhulgas Pythonile süsteemi käsk. Näiteks saate süsteemi platvormi määrata, kasutades nimi käsk. Allpool olev näide näitab, kuidas OS-mooduliga eksponeeritud süsteemikäske kutsuda.

>>> os.nimi

See funktsioon kontrollib, kas teatud operatsioonisüsteemile spetsiifilisi mooduleid on olemas, ja määrab selle põhjal platvormi. Kasuta uname funktsioon üksikasjaliku teabe saamiseks.

>>> os.uname ()

See käsk kuvab täpse süsteemiplatvormi koos masina arhitektuuri, väljalaske ja versiooni teabega. Kasuta getcwd funktsioon praeguse töökataloogi hankimiseks.

>>> os.getcwd ()

Töökataloogi saate hõlpsalt muuta Pythoni süsteemi käsu abil chdir. Uue asukoha edastamine stringiparameetrina.

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

The mkdir OS-mooduli funktsioon muudab uute kataloogide loomise lihtsaks. See võimaldab meil luua ka rekursiivseid kaustu, see tähendab, et Python loob kõik puuduvad kataloogid, mis on lehtede kataloogi vanemad.

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

Kasuta rmdir käsk kataloogide kustutamiseks oma töökataloogist.

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

Python os mooduli põhitõed

Pythoni süsteemi käskude näited

OS-mooduli pakutav süsteemikäsk võimaldab programmeerijatel käivitada shellikäske. Määrake kindlasti käsu nimi stringina. Kui olete pythonile helistanud süsteemi käsu, käivitab see antud käsu uues alamkoosis.

>>> cmd = 'kuupäev'
>>> ossüsteem (cmd)

Selle sama meetodi abil saate käivitada muid eraldiseisvaid rakendusi. Järgmine näide täidab terminaliredaktori nano teie Pythoni kestast.

>>> cmd = 'nano'
>>> ossüsteem (cmd)

Pythoni operatsioonisüsteemi süsteem väljastab ka iga käivitatava käsu tagastuskoodi. POSIX-süsteemid tagastavad edukaks käivitamiseks 0 ja probleemideks osutavad nullist erinevad väärtused.

Saate kasutada Pythonis asuvat OS-i, et käivitada kõik, mida soovite. Näiteks kui teie programm peab kasutaja masinast lugema programmi versiooni teavet, võite teha järgmist.

>>> cmd = 'gcc --versioon'
>>> ossüsteem (cmd)

Allpool toodud näide täidab lihtsa shellikäsu, mis loob uue faili nimega users.txt ja täidab selle kõigi sisse logitud kasutajatega. Paljud Pythoni programmid teevad neid asju.

>>> os.süsteem ('kasutajad> test')

Edastame käsu nime OS-süsteemile stringina. Võite kasutada igat tüüpi kasulikud terminalikäsud samamoodi.

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

Võite ka kasutada alamprotsess kutsub üles Pythoni kaudu süsteemi käske täitma. See pakub mitmeid lisahüvesid, sealhulgas kiiremat käitust, paremat veakäsitlust, väljundi sõelumist ja shellikäskude edastamist. Pythoni ametlik dokumentatsioon soovitab ka alamprotsessikõnesid vanematele moodulitele nagu os. süsteem ja os.sepp.

>>> impordi alamprotsess
>>> subprocess.run (["ping", "- c 3", "example.com"])

Failide ja kataloogide haldamine OS-mooduli kaudu

Oleme näidanud, kuidas luua Python OS-mooduli abil lihtsaid faile ja katalooge. Mis siis, kui soovite luua pesastatud kaustu? OS-süsteem hoolitseb selle eest ka meie, programmeerijate jaoks. Näiteks loovad kausta allolevad jupid $ HOME / test / root / api. Samuti loob see vajalikud vanemkataloogid, kui need pole saadaval.

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

Esiteks leidsime kodukataloogi abil keskkond ja seejärel liitus kaustade nimed os.tee.liitu. Prindilausel kuvatakse kausta nimi ja makedirid loob selle.

Uut kataloogi saame vaadata, kasutades listdir OS-mooduli meetod.

>>> os.chdir (os.path.join (os.environ ['HOME'], 'test', 'juur', 'api'))
>>> os.system ('puutefail1 fail2 fail3 fail3')
>>> os.listdir (os.environ ['KODU'])

Api kataloogi saate hõlpsalt ümber nimetada, kasutades ümber nimetada OS-mooduli pakutav käsk. Allolev lause nimetab selle api kataloogi ümber test-apiks.

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

Kasuta isfile ja isdir OS-i funktsioon, kui teie programm peab kinnitama konkreetseid faile või katalooge.

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

Pythoni OS-moodul võimaldab arendajatel faililaiendite kõrval ka failide ja kaustade nimesid välja tõmmata. Allpool olevad jupid illustreerivad selle kasutamist os.path.split ja os.path.splitext selles osas.

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

Laienduste, näiteks .txt või .mp3 failinimedest eraldamiseks kasutage allolevat koodi.

>>> failinimi, laiend = os.path.splitext (basename)
>>> print (failinimi)
>>> print (laiendus)

Pythoni operatsioonisüsteemi muu kasutamine

OS-i moodul pakub palju lisafunktsioone, et manipuleerida näiteks kasutajaprotsesside ja tööajakavaga. Näiteks saate kiiresti saada praeguse protsessi UID (kasutaja ID) getuid funktsioon.

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

The getgid funktsioon tagastab käimasoleva protsessi grupi ID. Kasutage getpid PID (protsessi ID) ja getppid vanemprotsessi ID saamiseks.

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

OS-moodulit saate kasutada ka Pythoni programmi failide ja kataloogide lubade muutmiseks. Kasuta chmod funktsiooni OS seda teha.

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

See käsk muudab kasutaja luba file1.txt kuni 0444. Kasutage 0o444 selle asemel 0444 veendumaks, et lause ühilduks Pythoni mõlema peamise versiooniga.

Kasutage Pythoni operatsioonisüsteemi jõudu

Pythoni OS-moodul pakub kõike, mida vajate operatsioonisüsteemiga suhtlemiseks. Tõeliselt platvormidevaheliste programmide kirjutamiseks on vaja OS-süsteemi selget mõistmist. Alustamiseks hõlbustasime selle mooduli pakutavaid põhifunktsioone. Proovige neid omas tempos ja ärge unustage nendega nokitseda.

E-post
Kuidas luua ja kasutada Pythonis komplekte

Kas olete valmis oma Pythoni kodeerimise viima uuele tasemele? On aeg aru saada, kuidas luua ja kasutada komplekte.

Seotud teemad
  • Programmeerimine
  • Python
Autori kohta
Rubaiat Hossain (Avaldatud 8 artiklit)

Rubaiat on CS grad, millel on suur kirg avatud lähtekoodiga. Lisaks Unixi veteranile tegeleb ta ka võrgu turvalisuse, krüptograafia ja funktsionaalse programmeerimisega. Ta on kirglik kasutatud raamatute koguja ja tunneb klassikalise roki üle lõputut imetlust.

Veel Rubaiat Hossainilt

Telli meie uudiskiri

Liituge meie uudiskirjaga, et saada tehnilisi näpunäiteid, ülevaateid, tasuta e-raamatuid ja eksklusiivseid pakkumisi!

Veel üks samm !!!

Palun kinnitage oma e-posti aadress meilis, mille me just saatsime.

.