Vad är Pythons OS -modul och hur använder du den?

Vad är Pythons OS -modul och hur använder du den?

OS-modulen i Python ger åtkomst till systemspecifika funktioner för att hantera 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ärnbegreppen och illustrerar hur du använder Python -systemkommandot.





Funktioner i Python OS -systemet

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





Denna modul innehåller också två delmoduler, 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. Vissa vanliga användningsområden inkluderar exekvering 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 dator.

Relaterad: Hur man installerar Python på Ubuntu



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

hur man torkar hårddisken windows 10
>>> import os

Du kan nu komma åt de funktioner som tillhandahålls av OS -modulen, inklusive Python systemet kommando. Du kan till exempel bestämma systemplattformen med namn kommando. Exemplet nedan visar hur du aktiverar systemkommandon som visas av OS -modulen.





>>> os.name

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()

Detta kommando 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 . Passera den nya platsen som en strängparameter.

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

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

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

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

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

Exempel på Python System Command

Systemkommandot från OS -modulen gör det möjligt för programmerare att utföra skalkommandon. Se till att definiera kommandonamnet som en sträng. När du ringer python systemet kommando, kommer det att köra det angivna kommandot i ett nytt delskal.

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

Du kan köra andra fristående program med samma metod. Följande exempel kör terminalredigeraren nano från ditt Python -skal.

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

Python OS -system matar också ut returkoden för varje kommando som körs. POSIX -system returnerar 0 för framgångsrik körning och värden utan noll för att indikera problem.

Du kan använda OS -systemet i Python för att köra allt du vill. Till exempel, om ditt program behöver läsa versionen av ett program på användarmaskinen, kan du göra något liknande följande.

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

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

>>> os.system('users > 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 delprocess kräver att systemkommandon körs från Python. Detta ger flera ytterligare fördelar, inklusive snabbare körning, bättre felhantering, utmatningsanalys och rörkommandon. Pythons officiella dokumentation rekommenderar också delprocessanrop över äldre moduler som os.system och os.spawn .

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

Hantera filer och kataloger via OS -modulen

Vi har visat hur du skapar enkla filer och kataloger med 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 nedanstående utdrag mappen $ HOME/test/root/api . Det skapar också de nödvändiga föräldrakatalogerna om de inte är tillgängliga.

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

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

Vi kan se den nya katalogen med 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 isfile och namn OS -funktion om ditt program behöver validera specifika filer eller kataloger.

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

OS -modulen i Python gör det också möjligt för utvecklare att extrahera fil- och mappnamn vid sidan av 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, basename = os.path.split(dir)
>>> print(dirname)
>>> print(basename)

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

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

Diverse användning av Python OS -systemet

OS -modulen erbjuder många ytterligare funktioner för att manipulera saker som användarprocesser och jobbplaneraren. Till exempel kan du snabbt få UID (användar -id) för den aktuella processen med bevittnade fungera.

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

De getgid funktion returnerar grupp -id för den pågående processen. Använda sig av bli ledsen för att få PID (process -id) och bli upprörd för att få överordnad process -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 behörigheten för file1.txt till 0444 . Använda sig av 0o444 istället för 0444 för att se till att uttalandet är kompatibelt i båda större versionerna av Python.

Utnyttja kraften i Python OS System

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 verkligt plattformsoberoende program. Vi har täckt några av kärnfunktionerna i denna modul för att hjälpa dig komma igång. Prova dem i din egen takt, och glöm inte att pyssla med dem.

Dela med sig Dela med sig Tweet E-post Hur man skapar och använder tupler i Python

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

Läs Nästa
Relaterade ämnen
  • Programmering
  • Pytonorm
Om författaren Rubaiat Hossain(39 artiklar publicerade)

Rubaiat är en CS-examen med en stark passion för öppen källkod. Förutom att vara en 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!

Klicka här för att prenumerera