Hvad er Pythons OS -modul, og hvordan bruger du det?

Hvad er Pythons OS -modul, og hvordan bruger du det?

OS-modulet i Python giver adgang til systemspecifikke funktioner til håndtering af filsystemet, processer, planlægning osv. Du skal beherske Python OS-systemet til at skrive applikationer, der beskæftiger sig med virkelige problemer. Denne vejledning diskuterer nogle af kernekoncepterne og illustrerer, hvordan du bruger Python -systemkommandoen.





Funktioner i Python OS System

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 fra OS -modulet til at udføre en lang række opgaver. Nogle almindelige anvendelser omfatter udførelse af shell -kommandoer, administration af filer og mapper, gydeprocesser osv.





Kom godt i gang med OS -modulet

Den nemmeste måde at udforske OS -modulet på er gennem tolken. Du kan importere modulet der 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 tolken med at skrive python i din terminal eller kommandoskal. Når det er åbent, skal du importere OS -modulet ved hjælp af følgende erklæring.

hvordan finder du ud af, hvad dit bundkort er
>>> import os

Du kan nu få adgang til de funktioner, der leveres af OS -modulet, herunder 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, som OS -modulet viser.





>>> os.name

Denne funktion kontrollerer, om visse OS -specifikke moduler er til stede, og bestemmer platformen baseret på det. Brug uname funktion for at få detaljerede oplysninger.

>>> os.uname()

Denne kommando viser den nøjagtige systemplatform sammen med maskinens arkitektur, udgivelse og versionoplysninger. Brug getcwd funktion til at hente den aktuelle arbejdskatalog.





>>> os.getcwd()

Du kan nemt ændre arbejdsmappen ved hjælp af Python -systemkommandoen chdir . Videregiv den nye placering som en strengparameter.

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

Det mkdir funktionen af ​​OS -modulet gør oprettelse af nye mapper ligetil. Det giver os også mulighed for at oprette rekursive mapper, hvilket betyder, at Python vil oprette alle manglende biblioteker, der er forældre til bladmappen.

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

Brug rmdir kommando for at slette mapper fra dit arbejdskatalog.

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

Eksempler på Python System Command

Systemkommandoen fra OS -modulet gør det muligt for programmører at udføre shell -kommandoer. Sørg for at definere kommandonavnet som en streng. Når du kalder python system kommando, vil den køre den givne kommando i en ny underskal.

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

Du kan køre andre enkeltstående programmer ved hjælp af den samme metode. Følgende eksempel udfører terminal editor nano fra din Python shell.

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

Python OS -system udsender også returkoden for hver kommando, der udføres. POSIX -systemer returnerer 0 for vellykket udførelse og værdier uden nul for at angive problemer.

Du kan bruge OS -systemet i Python til at køre alt, hvad du vil. For eksempel, hvis dit program skal læse versionens oplysninger om et program på brugermaskinen, kan du gøre noget som følgende.

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

Nedenstående eksempel udfører en simpel shell -kommando, der opretter en ny fil kaldet users.txt og udfylder det med alle loggede brugere. Mange Python -programmer gør disse ting.

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

Vi sender kommandoenavnet 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 delproces 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 subprocess
>>> subprocess.run(['ping','-c 3', 'example.com'])

Håndtering af filer og mapper via OS -modul

Vi har vist, hvordan du opretter enkle filer og mapper ved hjælp af Python OS -modulet. Hvad hvis du vil oprette indlejrede mapper? OS -systemet sørger også for dette for os programmører. For eksempel opretter nedenstående uddrag mappen $ HOME/test/root/api . Det vil også oprette de nødvendige forældrekataloger, hvis de ikke er tilgængelige.

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

Først hentede vi hjemmemappen ved hjælp af om og sluttede sig derefter til mappenavne via os.path.join . Udskriftssætningen viser mappenavnet og makedirs skaber det.

Vi kan se det nye bibliotek ved hjælp af listdir metode til OS -modulet.

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

Du kan nemt omdøbe api -biblioteket ved hjælp af omdøbe kommando, der tilbydes af OS -modulet. Nedenstående sætning omdøber dette api-bibliotek til test-api.

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

Brug isfile og navn OS -funktion, hvis dit program skal validere bestemte filer eller mapper.

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

OS -modulet i Python giver også udviklere mulighed for at udtrække fil- og mappenavne ved siden af ​​filudvidelser. 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, basename = os.path.split(dir)
>>> print(dirname)
>>> print(basename)

Brug nedenstående kode til at udtrække udvidelser som .txt eller .mp3 fra filnavne.

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

Diverse brug af Python OS -systemet

OS -modulet tilbyder mange ekstra funktioner til manipulation af ting som brugerprocesser og jobplanlæggeren. For eksempel kan du hurtigt få UID (bruger -id) for den aktuelle proces ved hjælp af bevidnet fungere.

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

Det getgid funktion returnerer gruppens id for den igangværende proces. Brug getpid for at få PID (proces -id) og blive ked af det for at få det 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 operativsystemets funktion til at gøre dette.

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

Denne kommando ændrer tilladelsen til file1.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 kraften i Python OS System

Pythons OS -modul giver alt, hvad du har brug for for at interagere med det underliggende operativsystem. En klar forståelse af OS-systemet er nødvendig for at skrive virkelig cross-platform-programmer. Vi har dækket nogle af kernefunktionerne i dette modul for at hjælpe dig i gang. Prøv dem i dit eget tempo, og glem ikke at pille ved dem.

Del Del Tweet E -mail Sådan oprettes og bruges tuples i Python

Klar til at tage din Python -kodning til det næste niveau? Det er på tide at forstå, hvordan man opretter og bruger tuples.

Læs Næste
Relaterede emner
  • Programmering
  • Python
Om forfatteren Rubaiat Hossain(39 artikler udgivet)

Rubaiat er en CS grad med en stærk passion for open source. Udover at være Unix -veteran, er han også til netværkssikkerhed, kryptografi og funktionel programmering. Han er en ivrig samler af brugte bøger og har en uendelig beundring for klassisk rock.

Mere fra Rubaiat Hossain

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for at få tekniske tips, anmeldelser, gratis e -bøger og eksklusive tilbud!

Klik her for at abonnere