Kas ir Python OS modulis un kā to izmantot?

Kas ir Python OS modulis un kā to izmantot?

Python OS modulis nodrošina piekļuvi sistēmai raksturīgām funkcijām, kas saistītas ar failu sistēmu, procesiem, plānotāju utt. Jums jāapgūst Python OS sistēma, lai rakstītu lietojumprogrammas, kas risina reālās pasaules problēmas. Šajā rokasgrāmatā ir apskatīti daži pamatjēdzieni un parādīts, kā izmantot Python sistēmas komandu.





Python OS sistēmas iezīmes

OS sistēma kalpo kā pārnēsājams veids, kā mijiedarboties ar pamatā esošo operētājsistēmu. Tas piedāvā piekļuvi failu nosaukumiem, komandrindas argumentiem, vides mainīgajiem, procesa parametriem un failu sistēmas hierarhijai līdzās citām funkcijām.





Šajā modulī ir arī divi apakšmoduļi-os.sys modulis un os.path modulis. Jūs varat izmantot OS moduļa sniegtās funkcijas, lai veiktu plašu uzdevumu klāstu. Daži izplatīti lietojumi ietver čaulas komandu izpildi, failu un direktoriju pārvaldību, nārsta procesus utt.





Darba sākšana ar OS moduli

Vienkāršākais veids, kā izpētīt OS moduli, ir tulks. Jūs varat importēt moduli tur un izmantot sistēmas funkcijas, nerakstot avota kodu. Tomēr jums ir jāinstalē Python. Tāpēc turpiniet un instalējiet Python savā vietējā datorā.

Saistīts: Kā instalēt Python uz Ubuntu



Sāciet tulku, ierakstot pitons terminālī vai komandu apvalkā. Kad tas ir atvērts, importējiet OS moduli, izmantojot šo paziņojumu.

Windows 10 kreisais klikšķis nedarbojas
>>> import os

Tagad varat piekļūt OS moduļa nodrošinātajām funkcijām, ieskaitot Python sistēma komandu. Piemēram, jūs varat noteikt sistēmas platformu, izmantojot vārds komandu. Zemāk redzamajā piemērā ir parādīts, kā izsaukt OS komandas atklātās sistēmas komandas.





>>> os.name

Šī funkcija pārbauda, ​​vai ir pieejami konkrēti OS moduļi, un nosaka platformu, pamatojoties uz to. Izmantojiet nepiedien funkciju, lai iegūtu detalizētu informāciju.

>>> os.uname()

Šī komanda parāda precīzu sistēmas platformu kopā ar mašīnas arhitektūru, versiju un versiju. Izmantojiet getcwd funkciju, lai izgūtu pašreizējo darba direktoriju.





>>> os.getcwd()

Jūs varat viegli mainīt darba direktoriju, izmantojot Python sistēmas komandu chdir . Nosūtiet jauno atrašanās vietu kā virknes parametru.

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

The mkdir OS moduļa funkcija padara jaunu direktoriju izveidi vienkāršu. Tas arī ļauj mums izveidot rekursīvas mapes, kas nozīmē, ka Python izveidos visus trūkstošos direktorijus, kas ir lapu direktorija vecāki.

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

Izmantojiet rmdir komandu, lai izdzēstu direktorijus no darba direktorijas.

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

Python sistēmas komandu piemēri

Sistēmas komanda, ko nodrošina OS modulis, ļauj programmētājiem izpildīt čaulas komandas. Noteikti definējiet komandas nosaukumu kā virkni. Kad jūs piezvanīsit pitonam sistēma komandu, tā izpildīs doto komandu jaunā apakšslānī.

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

Izmantojot šo pašu metodi, varat palaist citas atsevišķas lietojumprogrammas. Šis piemērs izpilda termināļa redaktoru nano no jūsu Python apvalka.

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

Python OS sistēma arī izvada atgriešanās kodu katrai izpildāmajai komandai. POSIX sistēmas atgriež 0 veiksmīgai izpildei un vērtības, kas nav nulles, lai norādītu uz problēmām.

Jūs varat izmantot OS sistēmu Python, lai palaistu visu, ko vēlaties. Piemēram, ja jūsu programmai ir jālasa programmas versijas informācija lietotāja datorā, varat rīkoties šādi.

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

Zemāk redzamais piemērs izpilda vienkāršu čaulas komandu, kas izveido jaunu failu ar nosaukumu users.txt un aizpilda to ar visiem lietotājiem, kuri ir pieteikušies. Daudzas Python programmas veic šīs darbības.

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

Mēs nododam komandas nosaukumu OS sistēmai kā virkni. Jūs varat izmantot visu veidu noderīgas termināļa komandas Tāpat.

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

Varat arī izmantot apakšprocess aicina izpildīt sistēmas komandas no Python. Tas nodrošina vairākas papildu priekšrocības, tostarp ātrāku izpildlaiku, labāku kļūdu apstrādi, izvades parsēšanu un cauruļvadu apvalka komandas. Python oficiālā dokumentācija arī iesaka apakšprocesa zvanu, izmantojot vecākus moduļus, piemēram, os.system un os.spawn .

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

Failu un direktoriju pārvaldība, izmantojot OS moduli

Mēs esam parādījuši, kā izveidot vienkāršus failus un direktorijus, izmantojot Python OS moduli. Ko darīt, ja vēlaties izveidot ligzdotas mapes? Par to mums, programmētājiem, rūpējas arī OS sistēma. Piemēram, zemāk esošie fragmenti izveido mapi $ HOME/test/root/api . Tas arī izveidos nepieciešamos vecāku direktorijus, ja tie nav pieejami.

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

Pirmkārt, mēs izguvām mājas direktoriju, izmantojot par un pēc tam pievienojās mapju nosaukumiem, izmantojot os.path.join . Drukāšanas paziņojumā tiek parādīts mapes nosaukums un makedirs to rada.

Mēs varam apskatīt jauno direktoriju, izmantojot listdir OS moduļa metode.

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

Jūs varat viegli pārdēvēt api direktoriju, izmantojot pārdēvēt komandu, ko piedāvā OS modulis. Zemāk esošais paziņojums šo api direktoriju pārdēvē par test-api.

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

Izmantojiet isfile un vārds OS funkciju, ja jūsu programmai ir jāapstiprina konkrēti faili vai katalogi.

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

Python OS modulis arī ļauj izstrādātājiem iegūt failu un mapju nosaukumus kopā ar failu paplašinājumiem. Zemāk esošie fragmenti ilustrē os.path.split un os.path.splitext šajā sakarā.

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

Izmantojiet zemāk esošo kodu, lai no failu nosaukumiem iegūtu paplašinājumus, piemēram, .txt vai .mp3.

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

Dažādi Python OS sistēmas lietojumi

OS modulis piedāvā daudzas papildu funkcijas, lai manipulētu ar tādām lietām kā lietotāja procesi un darba plānotājs. Piemēram, varat ātri iegūt pašreizējā procesa UID (lietotāja ID), izmantojot liecinieks funkciju.

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

The getgid funkcija atgriež skriešanas procesa grupas ID. Izmantot stulbs lai iegūtu PID (procesa ID) un getppid lai iegūtu vecāku procesa ID.

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

Varat arī izmantot OS moduli, lai mainītu Python programmas failu un direktoriju atļaujas. Izmantojiet chmod OS funkcija, lai to izdarītu.

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

Šī komanda maina atļauju fails1.txt uz 0444 . Izmantot 0o444 tā vietā 0444 lai pārliecinātos, ka paziņojums ir saderīgs abās galvenajās Python versijās.

Izmantojiet Python OS sistēmas jaudu

Python OS modulis nodrošina visu nepieciešamo, lai mijiedarbotos ar pamatā esošo operētājsistēmu. Lai rakstītu patiesi starpplatformu programmas, ir nepieciešama skaidra OS sistēmas izpratne. Mēs esam apskatījuši dažas šī moduļa sniegtās pamatfunkcijas, lai palīdzētu jums sākt darbu. Izmēģiniet tos savā tempā un neaizmirstiet par tiem ķerties.

Kopīgot Kopīgot Čivināt E -pasts Kā izveidot un izmantot Tuples Python

Vai esat gatavs pacelt savu Python kodējumu jaunā līmenī? Ir pienācis laiks saprast, kā izveidot un izmantot kopas.

Lasīt Tālāk
Saistītās tēmas
  • Programmēšana
  • Python
Par autoru Rubaiat Hossain(Publicēti 39 raksti)

Rubaiat ir CS grāds ar spēcīgu aizraušanos ar atvērtā koda avotiem. Viņš ir ne tikai Unix veterāns, bet arī tīkla drošība, kriptogrāfija un funkcionālā programmēšana. Viņš ir dedzīgs lietotu grāmatu kolekcionārs un nebeidzami apbrīno klasisko roku.

Vairāk no Rubaiat Hossain

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai iegūtu tehniskus padomus, pārskatus, bezmaksas e -grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu