OS-modulet i Python giver adgang til systemspecifikke funktioner til håndtering af filsystemet, processer, planlægning osv. Du skal mestre Python OS-systemet til at skrive applikationer, der håndterer virkelige problemer. Denne vejledning diskuterer nogle af kernebegreberne og illustrerer, hvordan man bruger Python-systemkommandoen.
Funktioner i Python OS-systemet
OS-systemet fungerer som en bærbar måde at interagere med det underliggende operativsystem. Det giver adgang til filnavne, kommandolinjeargumenter, miljøvariabler, procesparametre og filsystemhierarki sammen med andre funktioner.
Dette modul indeholder også to undermoduler, os.sys-modulet og os.path-modulet. Du kan bruge funktionerne i OS-modulet til at udføre en lang række opgaver. Nogle almindelige anvendelser inkluderer udførelse af shell-kommandoer, styring af filer og mapper, gydeprocesser, etc.
Kom godt i gang med OS-modulet
Den nemmeste måde at udforske OS-modulet på er via tolk. Du kan importere modulet derhen og bruge systemfunktionerne uden at skrive kildekode. Du skal dog have Python installeret til dette. Så fortsæt og installer Python på din lokale maskine.
Relaterede: Sådan installeres Python på Ubuntu
Start tolk ved at skrive python i din terminal eller kommandoskal. Når det er åbent, skal du importere OS-modulet ved hjælp af følgende udsagn.
>>> import os
Du kan nu få adgang til funktionerne fra OS-modulet, inklusive Python system kommando. For eksempel kan du bestemme systemplatformen ved hjælp af navn kommando. Nedenstående eksempel viser, hvordan man påberåber systemkommandoer, der er eksponeret af OS-modulet.
>>> os.navn
Denne funktion kontrollerer, om visse OS-specifikke moduler er til stede og bestemmer platformen ud fra det. Brug uname funktion for at få detaljeret information.
>>> os.uname ()
Denne kommando viser den nøjagtige systemplatform sammen med maskinens arkitektur, frigivelse og versionoplysninger. Brug getcwd funktion for at hente den aktuelle arbejdsmappe.
>>> os.getcwd ()
Du kan nemt ændre arbejdsmappen ved hjælp af Python-systemkommandoen chdir. Send den nye placering som en strengparameter.
>>> os.chdir ('/ tmp')
Det mkdir OS-funktionens funktion gør det nemt at oprette nye mapper. Det giver os også mulighed for at oprette rekursive mapper, hvilket betyder at Python opretter alle manglende mapper, der er forældre til bladkataloget.
>>> os.mkdir ('new-dir')
Brug rmdir kommando til at slette mapper fra din arbejdsmappe.
>>> os.rmdir ('new-dir')
Eksempler på Python System Command
Systemkommandoen fra OS-modulet giver programmører mulighed for at udføre shell-kommandoer. Sørg for at definere kommandonavnet som en streng. Når du ringer til python system kommando, kører den den givne kommando i en ny subshell.
>>> cmd = 'dato'
>>> os.system (cmd)
Du kan køre andre enkeltstående applikationer ved hjælp af samme metode. Følgende eksempel udfører terminal editor nano fra din Python-skal.
>>> cmd = 'nano'
>>> os.system (cmd)
Python OS-systemet udsender også returkoden for hver kommando, der udføres. POSIX-systemer returnerer 0 til vellykket udførelse og ikke-nul-værdier for at indikere problemer.
Du kan bruge OS-systemet i Python til at køre alt, hvad du vil. For eksempel, hvis dit program skal læse versionsoplysningerne for et program på brugerens maskine, kan du gøre noget som det følgende.
>>> cmd = 'gcc --version'
>>> os.system (cmd)
Nedenstående eksempel udfører en simpel shell-kommando, der opretter en ny fil kaldet brugere.txt og udfylder det med alle brugere, der er logget ind. Mange Python-programmer gør disse ting.
>>> os.system ('brugere> test')
Vi sender kommandonavnet til OS-systemet som en streng. Du kan bruge alle typer nyttige terminalkommandoer den samme måde.
>>> os.system ('ping -c 3 google.com')
Du kan også bruge underproces opfordrer til at udføre systemkommandoer fra Python. Dette giver flere ekstra fordele, herunder hurtigere runtime, bedre fejlhåndtering, output-parsing og piping shell-kommandoer. Pythons officielle dokumentation anbefaler også underprocesopkald over ældre moduler som f.eks os.system og os.spawn.
>>> import underproces
>>> subprocess.run (["" ping "," - c 3 "," eksempel.com "])
Håndtering af filer og kataloger via OS-modul
Vi har vist, hvordan man opretter enkle filer og mapper ved hjælp af Python OS-modulet. Hvad hvis du vil oprette indlejrede mapper? OS-systemet tager sig også af dette for os programmører. For eksempel opretter nedenstående uddrag mappen $ HOME / test / root / api. Det opretter også de nødvendige forældremapper, hvis de ikke er tilgængelige.
>>> dirname = os.path.join (os.environ ['HJEM'], 'test', 'rod', 'api')
>>> print (dirname)
>>> os.makedirs (dirname)
Først hentede vi hjemmekataloget ved hjælp af miljø og sluttede sig derefter til mappenavnene via os.sti. slutte sig til. Udskriftserklæringen viser mappenavnet og makedirs skaber det.
Vi kan se den nye mappe ved hjælp af listdir metode til OS-modulet.
>>> os.chdir (os.path.join (os.environ ['HJEM'], 'test', 'rod', 'api'))
>>> os.system ('berøringsfil1 fil2 fil3')
>>> os.listdir (os.environ ['HJEM'])
Du kan nemt omdøbe api-biblioteket ved hjælp af omdøbe kommando, der tilbydes af OS-modulet. Nedenstående erklæring omdøber denne api-mappe til test-api.
>>> os.rename ('api', 'test-api')
Brug isfil og isdir OS-funktion, hvis dit program skal validere bestemte filer eller mapper.
>>> os.path.isfile ('fil1')
>>> os.path.isdir ('fil1')
OS-modulet i Python giver også udviklere mulighed for at udpakke fil- og mappenavne sammen med filtypenavne. Nedenstående uddrag illustrerer brugen af os.path.split og os.path.splitext i denne henseende.
>>> dir = os.path.join (os.environ ['HOME'], 'test', 'root', 'api', 'file1.txt')
>>> dirname, basenavn = os.path.split (dir)
>>> print (dirname)
>>> print (basenavn)
Brug nedenstående kode til at udtrække udvidelser som .txt eller .mp3 fra filnavne.
>>> filnavn, udvidelse = os.path.splitext (basenavn)
>>> udskriv (filnavn)
>>> print (udvidelse)
Diverse anvendelser af Python OS-systemet
OS-modulet tilbyder mange ekstra funktioner til manipulation af ting som brugerprocesser og jobplanlægning. For eksempel kan du hurtigt hente UID (bruger-id) for den aktuelle proces ved hjælp af getuid fungere.
>>> os.getuid ()
>>> os.getgid ()
Det getgid funktion returnerer gruppe-id'et for den kørende proces. Brug getpid for at få PID (proces-id) og getppid for at få den overordnede proces-id.
>>> os.getpid ()
>>> os.getppid ()
Du kan også bruge OS-modulet til at ændre tilladelser til filer og mapper fra dit Python-program. Brug chmod OS funktion til at gøre dette.
>>> os.chmod ('file1.txt', 0o444)
Denne kommando ændrer tilladelsen til fil1.txt til 0444. Brug 0o444 i stedet for 0444 for at sikre, at udsagnet er kompatibelt på tværs af begge større versioner af Python.
Udnyt styrken i Python OS-systemet
Pythons OS-modul giver alt hvad du behøver for at interagere med det underliggende operativsystem. En klar forståelse af OS-systemet er nødvendig for at skrive ægte platforme-programmer. Vi har dækket nogle af kernefunktionaliteterne i dette modul for at hjælpe dig i gang. Prøv dem i dit eget tempo, og glem ikke at rode med dem.
Klar til at tage din Python-kodning til det næste niveau? Det er tid til at forstå, hvordan man opretter og bruger tupler.
- Programmering
- Python
Rubaiat er en CS grad med en stærk passion for open source. Bortset fra at være Unix-veteran, er han også interesseret i netværkssikkerhed, kryptografi og funktionel programmering. Han er en ivrig samler af brugte bøger og har en uendelig beundring for klassisk rock.
Abonner på vores nyhedsbrev
Deltag i vores nyhedsbrev for tekniske tip, anmeldelser, gratis e-bøger og eksklusive tilbud!
Et trin mere !!!
Bekræft din e-mail-adresse i den e-mail, vi lige har sendt dig.