Što je Python OS modul i kako ga koristite?

Što je Python OS modul i kako ga koristite?

OS modul u Pythonu omogućuje pristup funkcijama specifičnim za sustav za bavljenje datotečnim sustavom, procesima, rasporedom itd. Morate ovladati sustavom Python OS za pisanje aplikacija koje se bave problemima u stvarnom svijetu. Ovaj vodič raspravlja o nekim od osnovnih koncepata i ilustrira kako koristiti naredbu sustava Python.





Značajke Python OS sustava

OS sustav služi kao prijenosni način interakcije s temeljnim operativnim sustavom. Nudi pristup nazivima datoteka, argumentima naredbenog retka, varijablama okruženja, parametrima procesa i hijerarhiji datotečnog sustava uz ostale funkcionalnosti.





Ovaj modul također sadrži dva pod-modula, modul os.sys i modul os.path. Funkcije koje pruža OS modul možete koristiti za izvršavanje širokog raspona zadataka. Neka uobičajena upotreba uključuje izvršavanje naredbi ljuske, upravljanje datotekama i direktorijima, procese mrijesta itd.





Početak rada s OS modulom

Najlakši način istraživanja OS modula je putem tumača. Modul možete uvesti tamo i koristiti funkcije sustava bez pisanja izvornog koda. Za ovo morate imati instaliran Python. Dakle, samo naprijed i instalirajte Python na svoj lokalni stroj.

Povezano: Kako instalirati Python na Ubuntu



Pokrenite tumača upisivanjem piton u vašem terminalu ili komandnoj ljusci. Nakon što se otvori, uvezite OS modul pomoću sljedeće naredbe.

kako napraviti instalacijski program USB 10 za USB
>>> import os

Sada možete pristupiti funkcionalnostima koje pruža OS modul, uključujući Python sustav naredba. Na primjer, platformu sustava možete odrediti pomoću Ime naredba. Primjer u nastavku prikazuje kako pozvati sistemske naredbe koje otkriva OS modul.





>>> os.name

Ova funkcija provjerava jesu li prisutni određeni moduli specifični za OS i na temelju toga određuje platformu. Koristiti uname funkciju za dobivanje detaljnih informacija.

>>> os.uname()

Ova naredba prikazuje točnu platformu sustava zajedno s podacima o arhitekturi stroja, izdanju i verziji. Koristiti getcwd funkcija za dohvaćanje trenutnog radnog imenika.





>>> os.getcwd()

Radni direktorij možete jednostavno promijeniti pomoću sistemske naredbe Python chdir . Prenesite novu lokaciju kao parametar niza.

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

The mkdir funkcija OS modula čini stvaranje novih direktorija jednostavnim. Također nam omogućuje stvaranje rekurzivnih mapa, što znači da će Python stvoriti sve direktorije koji nedostaju, a koji su roditelji direktorija lista.

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

Koristiti rmdir naredba za brisanje direktorija iz vašeg radnog imenika.

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

Primjeri naredbe sustava Python

Sistemska naredba koju pruža OS modul omogućuje programerima izvršavanje naredbi ljuske. Svakako definirajte naziv naredbe kao niz. Nakon što pozovete python sustav naredbom, ona će izvršiti datu naredbu u novoj podljusci.

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

Ovom istom metodom možete pokrenuti druge samostalne aplikacije. Sljedeći primjer izvršava uređivač terminala nano iz vaše Python ljuske.

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

Sustav Python OS također emitira povratni kôd za svaku naredbu koja se izvršava. POSIX sustavi vraćaju 0 za uspješno izvršavanje i vrijednosti različite od nule koje ukazuju na probleme.

OS sustav u Pythonu možete koristiti za pokretanje svega što želite. Na primjer, ako vaš program mora pročitati podatke o verziji programa na korisničkom stroju, možete učiniti nešto poput sljedećeg.

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

Primjer u nastavku izvršava jednostavnu naredbu ljuske koja stvara novu datoteku pod nazivom users.txt i popunjava ga svim prijavljenim korisnicima. Mnogi Python programi to rade.

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

Naziv naredbe prosljeđujemo OS sustavu kao niz. Možete koristiti sve vrste korisne naredbe terminala isti način.

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

Također možete koristiti potproces poziva na izvršavanje naredbi sustava iz Pythona. To pruža nekoliko dodatnih prednosti, uključujući brže vrijeme izvođenja, bolje rukovanje pogreškama, raščlanjivanje izlaza i naredbe ljuske cjevovoda. Službena dokumentacija Pythona također preporučuje pozivanje potprocesa preko starijih modula poput os.sustav i os.spun .

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

Upravljanje datotekama i direktorijima putem OS modula

Pokazali smo kako stvarati jednostavne datoteke i direktorije pomoću Python OS modula. Što ako želite stvoriti ugniježđene mape? Sustav OS također brine o tome za nas programere. Na primjer, donji isječci stvaraju mapu $ HOME/test/root/api . Također će stvoriti potrebne roditeljske direktorije ako nisu dostupni.

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

Prvo smo dohvatili kućni direktorij pomoću oko a zatim se pridružio nazivima mapa putem os.path.join . Izjava o ispisu prikazuje naziv mape i makedirima stvara ga.

Novi direktorij možemo pogledati pomoću listdir metoda OS modula.

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

Api direktorij možete jednostavno preimenovati pomoću preimenovati naredba koju nudi OS modul. Naredba u nastavku preimenuje ovaj api direktorij u test-api.

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

Koristiti isfile i Ime funkciju OS -a ako vaš program treba provjeriti valjanost određenih datoteka ili direktorija.

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

OS modul u Pythonu također omogućuje programerima izdvajanje naziva datoteka i mapa zajedno s nastavcima datoteka. Odlomci u nastavku ilustriraju upotrebu os.path.split i os.path.splitext u tom pogledu.

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

Upotrijebite donji kod za izdvajanje proširenja poput .txt ili .mp3 iz naziva datoteka.

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

Razna uporaba Python OS sustava

OS modul nudi mnoge dodatne funkcije za manipuliranje stvarima poput korisničkih procesa i raspoređivača poslova. Na primjer, možete brzo dobiti UID (korisnički ID) trenutnog procesa pomoću svjedočio funkcija.

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

The postanite čvrsti funkcija vraća ID grupe pokrenutog procesa. Koristiti getpid za dobivanje PID -a (id procesa) i getppid da biste dobili ID nadređenog procesa.

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

Modul OS možete koristiti i za promjenu dopuštenja datoteka i direktorija iz vašeg programa Python. Koristiti chmod funkcija OS -a da to učini.

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

Ova naredba mijenja dopuštenje za file1.txt do 0444 . Koristiti 0o444 umjesto 0444 kako bi bili sigurni da je izjava kompatibilna u obje glavne verzije Pythona.

Iskoristite snagu OS sustava Python

Python OS modul pruža sve što vam je potrebno za interakciju s temeljnim operativnim sustavom. Jasno razumijevanje OS sustava potrebno je za pisanje istinski cross-platform programa. Pokrili smo neke od osnovnih funkcija koje nudi ovaj modul kako biste lakše započeli. Isprobajte ih svojim tempom i ne zaboravite petljati s njima.

Udio Udio Cvrkut E -pošta Kako stvoriti i koristiti tuplee u Pythonu

Jeste li spremni podići svoje Python kodiranje na višu razinu? Vrijeme je da shvatite kako stvarati i koristiti tuplee.

Pročitajte Dalje
Povezane teme
  • Programiranje
  • Piton
O autoru Rubaiat Hossain(39 objavljenih članaka)

Rubaiat je diplomirani CS sa snažnom strašću prema otvorenom kodu. Osim što je veteran Unixa, bavi se i mrežnom sigurnošću, kriptografijom i funkcionalnim programiranjem. Strastveni je kolekcionar rabljenih knjiga i neprestano se divi klasičnom rocku.

Više od Rubaiat Hossain

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu