Hva er Pythons OS -modul og hvordan bruker du den?

Hva er Pythons OS -modul og hvordan bruker du den?

OS-modulen i Python gir tilgang til systemspesifikke funksjoner for å håndtere filsystemet, prosesser, planlegger, etc. Du må mestre Python OS-systemet for å skrive applikasjoner som håndterer virkelige problemer. Denne guiden diskuterer noen av kjernekonseptene og illustrerer hvordan du bruker Python -systemkommandoen.





Funksjoner i Python OS System

OS -systemet fungerer som en bærbar måte å samhandle med det underliggende operativsystemet. Den gir tilgang til filnavn, kommandolinjeargumenter, miljøvariabler, prosessparametere og filsystemhierarki sammen med andre funksjoner.





Denne modulen inneholder også to delmoduler, os.sys-modulen og os.path-modulen. Du kan bruke funksjonene fra OS -modulen til å utføre et bredt spekter av oppgaver. Noen vanlige bruksområder inkluderer å utføre skallkommandoer, administrere filer og kataloger, gyteprosesser, etc.





Komme i gang med OS -modulen

Den enkleste måten å utforske OS -modulen på er gjennom tolken. Du kan importere modulen dit og bruke systemfunksjonene uten å skrive kildekoden. Du må imidlertid ha Python installert for dette. Så fortsett og installer Python på din lokale maskin.

I slekt: Slik installerer du Python på Ubuntu



Start tolken med å skrive python i terminalen eller kommandoskallet. Når den er åpen, importerer du OS -modulen ved å bruke følgende setning.

hvorfor fungerer ikke høyttalerne mine på pcen min?
>>> import os

Du kan nå få tilgang til funksjonalitetene fra OS -modulen, inkludert Python system kommando. For eksempel kan du bestemme systemplattformen ved hjelp av Navn kommando. Eksemplet nedenfor viser hvordan du påkaller systemkommandoer som er avslørt av OS -modulen.





>>> os.name

Denne funksjonen sjekker om visse OS -spesifikke moduler er tilstede og bestemmer plattformen basert på det. Bruke uname funksjon for å få detaljert informasjon.

>>> os.uname()

Denne kommandoen viser den eksakte systemplattformen sammen med maskinarkitektur, utgivelse og versjonsinformasjon. Bruke getcwd funksjon for å hente den nåværende arbeidskatalogen.





>>> os.getcwd()

Du kan enkelt endre arbeidskatalogen ved hjelp av Python -systemkommandoen chdir . Pass den nye plasseringen som en strengparameter.

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

De mkdir OS -modulens funksjon gjør det enkelt å lage nye kataloger. Det lar oss også lage rekursive mapper, noe som betyr at Python vil opprette alle manglende kataloger som er foreldre til bladkatalogen.

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

Bruke rmdir kommando for å slette kataloger fra arbeidskatalogen.

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

Eksempler på Python System Command

Systemkommandoen fra OS -modulen lar programmerere utføre skallkommandoer. Sørg for å definere kommandonavnet som en streng. Når du ringer pytonen system kommando, vil den kjøre den gitte kommandoen i et nytt underskall.

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

Du kan kjøre andre frittstående applikasjoner ved å bruke den samme metoden. Følgende eksempel kjører terminalredigereren nano fra Python -skallet.

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

Python OS -system sender også ut returkoden for hver kommando som utføres. POSIX -systemer returnerer 0 for vellykket utførelse og nullverdier for å indikere problemer.

Du kan bruke operativsystemet i Python for å kjøre alt du vil. For eksempel, hvis programmet ditt trenger å lese versjonsinformasjonen til et program på brukermaskinen, kan du gjøre noe som følgende.

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

Eksemplet nedenfor utfører en enkel skallkommando som oppretter en ny fil kalt users.txt og fyller den med alle brukerne pålogget. Mange Python -programmer gjør disse tingene.

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

Vi sender kommandonavnet til OS -systemet som en streng. Du kan bruke alle typer nyttige terminalkommandoer den samme veien.

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

Du kan også bruke delprosess krever utførelse av systemkommandoer fra Python. Dette gir flere ekstra fordeler, inkludert raskere kjøretid, bedre feilhåndtering, output -analyse og kommandoer for rørskall. Pythons offisielle dokumentasjon anbefaler også delprosessanrop over eldre moduler som os.system og os.spawn .

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

Administrere filer og kataloger via OS -modul

Vi har vist hvordan du lager enkle filer og kataloger ved hjelp av Python OS -modulen. Hva om du vil lage nestede mapper? OS -systemet tar seg av dette også for oss programmerere. For eksempel oppretter utdragene nedenfor mappen $ HOME/test/root/api . Det vil også opprette de nødvendige overordnede katalogene hvis de ikke er tilgjengelige.

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

Først hentet vi hjemmekatalogen ved hjelp av Om og ble deretter med i mappenavnene via os.path. bli med . Utskriftserklæringen viser mappenavnet og makedirer skaper det.

Vi kan se den nye katalogen ved hjelp av listdir metoden for OS -modulen.

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

Du kan enkelt gi nytt navn til api -katalogen ved hjelp av gi nytt navn kommandoen som tilbys av OS -modulen. Nedenstående setning omdøper denne api-katalogen til test-api.

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

Bruke isfile og Navn OS -funksjon hvis programmet trenger å validere bestemte filer eller kataloger.

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

OS -modulen i Python lar utviklere også pakke ut fil- og mappenavn sammen med filutvidelser. Utdragene nedenfor illustrerer bruken av os.path.split og os.path.splitext i denne forbindelse.

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

Bruk koden nedenfor for å trekke ut utvidelser som .txt eller .mp3 fra filnavn.

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

Diverse bruk av Python OS -systemet

OS -modulen tilbyr mange tilleggsfunksjoner for å manipulere ting som brukerprosesser og jobbplanleggeren. For eksempel kan du raskt få UID (bruker -ID) for den gjeldende prosessen ved hjelp av bevitnet funksjon.

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

De getgid -funksjonen returnerer gruppe -ID -en for kjørende prosess. Bruk bli lei for å få PID (prosess -ID) og bli lei for å få overordnet prosess -ID.

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

Du kan også bruke OS -modulen til å endre tillatelser for filer og kataloger fra Python -programmet. Bruke chmod funksjonen til OS for å gjøre dette.

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

Denne kommandoen endrer tillatelsen til file1.txt til 0444 . Bruk 0o444 i stedet for 0444 for å sikre at setningen er kompatibel på tvers av begge hovedversjonene av Python.

Benytt kraften til Python OS System

Pythons OS -modul gir alt du trenger for å samhandle med det underliggende operativsystemet. En klar forståelse av OS-systemet er nødvendig for å skrive virkelig plattformsprogrammer. Vi har dekket noen av kjernefunksjonalitetene i denne modulen for å hjelpe deg i gang. Prøv dem i ditt eget tempo, og ikke glem å tukle med dem.

Dele Dele kvitring E -post Hvordan lage og bruke tuples i Python

Klar til å ta Python -kodingen din til neste nivå? Det er på tide å forstå hvordan du lager og bruker tuples.

Les neste
Relaterte temaer
  • Programmering
  • Python
Om forfatteren Rubaiat Hossain(39 artikler publisert)

Rubaiat er en CS grad med en sterk lidenskap for åpen kildekode. Bortsett fra å være Unix -veteran, er han også interessert i nettverkssikkerhet, kryptografi og funksjonell programmering. Han er en ivrig samler av brukte bøker og har en uendelig beundring for klassisk rock.

Mer fra Rubaiat Hossain

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere