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-systemet

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

Denne modulen inneholder også to undermoduler, os.sys-modulen og os.path-modulen. Du kan bruke funksjonene som tilbys av OS-modulen for å utføre et bredt spekter av oppgaver. Noen vanlige bruksområder inkluderer kjøring av skallkommandoer, administrering av filer og kataloger, gyteprosesser, etc.

Komme i gang med OS-modulen

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

I slekt: Slik installerer du Python på Ubuntu

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

>>> importer os

Du kan nå få tilgang til funksjonene som tilbys av OS-modulen, inkludert Python system kommando. For eksempel kan du bestemme systemplattformen ved hjelp av Navn kommando. Eksemplet nedenfor viser hvordan du påberoper systemkommandoer som er eksponert av OS-modulen.

>>> os.navn

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

>>> os.uname ()

Denne kommandoen viser den nøyaktige systemplattformen ved siden av maskinarkitektur, utgivelse og versjonsinformasjon. Bruke getcwd funksjon for å hente gjeldende arbeidskatalog.

>>> os.getcwd ()

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

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

De mkdir funksjonen til OS-modulen gjør det enkelt å opprette 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')

grunnleggende om python os-modulen

Eksempler på Python System Command

Systemkommandoen som leveres av OS-modulen lar programmerere utføre skallkommandoer. Sørg for å definere kommandonavnet som en streng. Når du ringer til pythonet system kommando, vil den kjøre den gitte kommandoen i en ny subshell.

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

Du kan kjøre andre frittstående applikasjoner med samme metode. Følgende eksempel utfører terminalredaktør nano fra Python-skallet ditt.

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

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

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

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

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

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

Vi overfører 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 underprosess krever å utføre systemkommandoer fra Python. Dette gir flere fordeler, inkludert raskere kjøretid, bedre feilhåndtering, utdata-parsing og piping shell-kommandoer. Pythons offisielle dokumentasjon anbefaler også underprosessanrop over eldre moduler som os.system og os.spawn.

>>> importere underprosess
>>> 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 også av dette for oss programmerere. For eksempel oppretter utklippene nedenfor mappen $ HOME / test / root / api. Det vil også opprette de nødvendige foreldrekatalogene hvis de ikke er tilgjengelige.

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

Først hentet vi hjemmekatalogen ved hjelp av miljø og ble deretter med i mappenavnene via os.path.join. Utskriftserklæringen viser mappenavnet, og makedirs skaper det.

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

>>> os.chdir (os.path.join (os.environ ['HJEM'], 'test', 'root', 'api'))
>>> os.system ('berøringsfil1 fil2 fil3')
>>> os.listdir (os.environ ['HJEM'])

Du kan enkelt gi nytt navn til api-katalogen ved hjelp av endre navn kommandoen som tilbys av OS-modulen. Uttalelsen nedenfor omdøper denne api-katalogen til test-api.

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

Bruke isfil og isdir funksjon av OS hvis programmet ditt må validere bestemte filer eller kataloger.

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

OS-modulen i Python lar også utviklere trekke ut fil- og mappenavn sammen med filtypen. 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)
>>> utskrift (dirname)
>>> utskrift (basenavn)

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

>>> filnavn, utvidelse = os.path.splitext (basenavn)
>>> utskrift (filnavn)
>>> utskrift (utvidelse)

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) til den nåværende prosessen ved hjelp av getuid funksjon.

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

De getgid funksjonen returnerer gruppe-ID-en for den kjørende prosessen. Bruk getpid for å få PID (prosess-ID) og getppid for å få foreldreprosess-ID.

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

Du kan også bruke OS-modulen for å endre tillatelser til filer og kataloger fra Python-programmet. Bruke chmod funksjon av OS å 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 uttalelsen er kompatibel i begge hovedversjoner av Python.

Utnytt kraften til Python OS-systemet

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

E-post
Hvordan lage og bruke tuples i Python

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

Relaterte temaer
  • Programmering
  • Python
Om forfatteren
Rubaiat Hossain (8 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 på nyhetsbrevet vårt for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!

Ett steg til…!

Bekreft e-postadressen din i e-posten vi nettopp sendte deg.

.