OS-modulen i Python ger tillgång till systemspecifika funktioner för hantering av filsystemet, processer, schemaläggare etc. Du måste behärska Python OS-systemet för att skriva applikationer som hanterar verkliga problem. Den här guiden diskuterar några av kärnkoncepten och illustrerar hur man använder Python-systemkommandot.

Funktioner i Python OS-systemet

OS-systemet fungerar som ett bärbart sätt att interagera med det underliggande operativsystemet. Det ger tillgång till filnamn, kommandoradsargument, miljövariabler, processparametrar och filsystemshierarki tillsammans med andra funktioner.

Den här modulen innehåller också två undermoduler, modulen os.sys och modulen os.path. Du kan använda funktionerna från OS-modulen för att utföra ett brett spektrum av uppgifter. Några vanliga användningsområden inkluderar körning av skalkommandon, hantering av filer och kataloger, lekprocesser, etc.

Komma igång med OS-modulen

Det enklaste sättet att utforska OS-modulen är genom tolk. Du kan importera modulen dit och använda systemfunktionerna utan att skriva källkod. Du måste dock ha Python installerat för detta. Så fortsätt och installera Python på din lokala maskin.

instagram viewer

Relaterad: Hur man installerar Python på Ubuntu

Starta tolk genom att skriva pytonorm i din terminal eller kommandoskal. När den är öppen importerar du OS-modulen med följande uttalande.

>>> importera os

Du kan nu komma åt funktionerna som tillhandahålls av OS-modulen, inklusive Python systemet kommando. Du kan till exempel bestämma systemplattformen med hjälp av namn kommando. Nedanstående exempel visar hur man åberopar systemkommandon som exponeras av OS-modulen.

>>> os.namn

Denna funktion kontrollerar om vissa OS-specifika moduler finns och bestämmer plattformen baserat på det. Använd du namnger funktion för att få detaljerad information.

>>> os.uname ()

Det här kommandot visar den exakta systemplattformen tillsammans med maskinarkitektur-, release- och versioninformation. Använd getcwd funktion för att hämta den aktuella arbetskatalogen.

>>> os.getcwd ()

Du kan enkelt ändra arbetskatalogen med Python-systemkommandot chdir. Skicka den nya platsen som en strängparameter.

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

De mkdir OS-modulen gör det enkelt att skapa nya kataloger. Det låter oss också skapa rekursiva mappar, vilket innebär att Python skapar alla saknade kataloger som är föräldrar till bladkatalogen.

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

Använd rmdir kommando för att radera kataloger från din arbetskatalog.

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

grunderna i python os-modulen

Exempel på Python System Command

Systemkommandot som tillhandahålls av OS-modulen tillåter programmerare att köra skalkommandon. Se till att definiera kommandonamnet som en sträng. När du ringer till pythonen systemet kommandot, kör det det givna kommandot i en ny subshell.

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

Du kan köra andra fristående applikationer med samma metod. I följande exempel körs terminalredaktör nano från ditt Python-skal.

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

Python OS-systemet matar också tillbaka returkoden för varje kommando som körs. POSIX-system returnerar 0 för lyckad körning och icke-nollvärden för att indikera problem.

Du kan använda OS-systemet i Python för att köra vad du vill. Om ditt program till exempel behöver läsa versionsinformationen för ett program på användarmaskinen kan du göra något liknande följande.

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

Nedanstående exempel kör ett enkelt skalkommando som skapar en ny fil som heter användare.txt och fyller den med alla inloggade användare. Många Python-program gör dessa saker.

>>> os.system ('användare> test')

Vi skickar kommandonamnet till OS-systemet som en sträng. Du kan använda alla typer av användbara terminalkommandon på samma sätt.

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

Du kan också använda underprocess kräver körning av systemkommandon från Python. Detta ger flera extra fördelar, inklusive snabbare körtid, bättre felhantering, utmatning och kommandon för rörledning. Pythons officiella dokumentation rekommenderar också underprocesssamtal över äldre moduler som os.system och os.spawn.

>>> importera underprocess
>>> subprocess.run (["" ping "," - c 3 "," exempel.com "])

Hantera filer och kataloger via OS-modulen

Vi har visat hur man skapar enkla filer och kataloger med hjälp av Python OS-modulen. Vad händer om du vill skapa kapslade mappar? OS-systemet tar också hand om detta för oss programmerare. Till exempel skapar mappen nedan utdrag $ HOME / test / root / api. Det skapar också nödvändiga förälderkataloger om de inte är tillgängliga.

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

Först hämtade vi hemkatalogen med miljö och gick sedan med i mappnamnen via os.path.join. Utskriftsutdraget visar mappnamnet och makedirer skapar det.

Vi kan visa den nya katalogen med hjälp av listdir metod för 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 byta namn på api-katalogen med Döp om kommando som erbjuds av OS-modulen. Nedanstående uttalande byter namn på denna api-katalog till test-api.

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

Använd isfil och isdir OS-funktion om ditt program behöver validera specifika filer eller kataloger.

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

OS-modulen i Python tillåter också utvecklare att extrahera fil- och mappnamn tillsammans med filtillägg. Nedanstående utdrag illustrerar användningen av os.path.split och os.path.splitext i detta avseende.

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

Använd koden nedan för att extrahera tillägg som .txt eller .mp3 från filnamn.

>>> filnamn, förlängning = os.path.splitext (basnamn)
>>> skriv ut (filnamn)
>>> skriva ut (förlängning)

Diverse användning av Python OS-systemet

OS-modulen erbjuder många ytterligare funktioner för att manipulera saker som användarprocesser och jobbschemaläggaren. Du kan till exempel snabbt hämta UID (användar-id) för den aktuella processen med hjälp av getuid fungera.

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

De getgid funktionen returnerar grupp-id för den pågående processen. Använda sig av getpid för att få PID (process-id) och getppid för att få föräldraprocess-id.

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

Du kan också använda OS-modulen för att ändra behörigheter för filer och kataloger från ditt Python-program. Använd chmod OS-funktion för att göra detta.

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

Detta kommando ändrar tillståndet för file1.txt till 0444. Använda sig av 0o444 istället för 0444 för att säkerställa att uttalandet är kompatibelt i båda huvudversionerna av Python.

Använd kraften i Python OS-systemet

Pythons OS-modul ger allt du behöver för att interagera med det underliggande operativsystemet. En klar förståelse av OS-systemet behövs för att skriva riktigt plattformsprogram. Vi har täckt några av kärnfunktionerna i den här modulen för att hjälpa dig komma igång. Prova dem i din egen takt, och glöm inte att tippa med dem.

E-post
Hur man skapar och använder tuples i Python

Är du redo att ta din Python-kodning till nästa nivå? Det är dags att förstå hur man skapar och använder tuples.

Relaterade ämnen
  • Programmering
  • Pytonorm
Om författaren
Rubaiat Hossain (8 artiklar publicerade)

Rubaiat är en CS-grad med en stark passion för öppen källkod. Förutom att vara Unix-veteran, är han också intresserad av nätverkssäkerhet, kryptografi och funktionell programmering. Han är en ivrig samlare av begagnade böcker och har en oändlig beundran för klassisk rock.

Mer från Rubaiat Hossain

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Ett steg till…!

Bekräfta din e-postadress i e-postmeddelandet som vi just skickade till dig.

.