OS modul u Pythonu omogućuje pristup specifičnim funkcijama sustava za rad s datotečnim sustavom, procesima, planerom itd. Morate svladati Python OS sustav za pisanje aplikacija koje se bave stvarnim problemima. Ovaj vodič raspravlja o nekim temeljnim konceptima i ilustrira kako se koristi naredba Python sustava.
Značajke sustava Python OS
OS sustav služi kao prijenosni način interakcije s osnovnim operativnim sustavom. Nudi pristup imenima datoteka, argumentima naredbenog retka, varijablama okruženja, parametrima procesa i hijerarhiji datotečnog sustava uz ostale funkcionalnosti.
Ovaj modul također sadrži dva podmodula, os.sys modul i os.path modul. Funkcije OS modula možete koristiti za izvršavanje širokog spektra zadataka. Neke uobičajene upotrebe uključuju izvršavanje naredbi ljuske, upravljanje datotekama i direktorijima, mrijestni procesiitd.
Početak rada s OS modulom
Najlakši način istraživanja OS modula je putem tumača. Tamo možete uvesti modul i koristiti sistemske funkcije bez pisanja izvornog koda. Ipak za to morate imati instaliran Python. Dakle, samo naprijed i instalirajte Python na vaš lokalni stroj.
Povezano: Kako instalirati Python na Ubuntu
Pokrenite tumač upisivanjem piton u vašem terminalu ili naredbenoj ljusci. Nakon što se otvori, uvezite OS modul pomoću sljedeće izjave.
>>> uvoz os
Sada možete pristupiti funkcijama koje pruža OS modul, uključujući Python sustav naredba. Na primjer, možete odrediti platformu sustava pomoću Ime naredba. Sljedeći primjer pokazuje kako pozvati naredbe sustava izložene OS modulom.
>>> os.name
Ova funkcija provjerava jesu li prisutni određeni moduli specifični za OS i na temelju toga određuje platformu. Koristiti uname funkcija za dobivanje detaljnih informacija.
>>> os.uname ()
Ova naredba prikazuje točnu platformu sustava zajedno s informacijama o arhitekturi stroja, izdanju i verziji. Koristiti getcwd funkcija za dohvaćanje trenutne radne mape.
>>> os.getcwd ()
Možete jednostavno promijeniti radni direktorij pomoću sistemske naredbe Python chdir. Proslijedite novo mjesto kao parametar niza.
>>> os.chdir ('/ tmp')
The mkdir funkcija OS modula čini stvaranje novih direktorija jednostavnim. Omogućuje nam i stvaranje rekurzivnih mapa, što znači da će Python stvoriti sve direktorije koji nedostaju koji su roditelji mape listova.
>>> os.mkdir ('novi-dir')
Koristiti rmdir naredba za brisanje direktorija iz vašeg radnog imenika.
>>> os.rmdir ('novi-dir')
Primjeri naredbe Python sustava
Naredba sustava koju pruža OS modul omogućuje programerima izvršavanje naredbi ljuske. Svakako definirajte naziv naredbe kao niz. Jednom kada nazovete python sustav naredba, pokrenut će zadanu naredbu u novoj podljusci.
>>> cmd = 'datum'
>>> os.sustav (cmd)
Ovim istim postupkom možete pokretati druge samostalne programe. Sljedeći primjer izvršava urednik terminala nano iz vaše Python ljuske.
>>> cmd = 'nano'
>>> os.sustav (cmd)
Python OS sustav također daje povratni kôd za svaku naredbu koja se izvršava. POSIX sustavi vraćaju 0 za uspješno izvršavanje i nula vrijednosti kako bi ukazali na probleme.
OS sustav u Pythonu možete koristiti za pokretanje bilo čega što želite. Na primjer, ako vaš program treba pročitati informacije o verziji programa na korisničkom stroju, možete učiniti nešto poput sljedećeg.
>>> cmd = 'gcc - verzija'
>>> os.sustav (cmd)
Sljedeći primjer izvršava jednostavnu naredbu ljuske koja stvara novu datoteku koja se zove korisnici.txt i popunjava ga svim prijavljenim korisnicima. Puno Python programa radi te stvari.
>>> os.system ('korisnici> test')
Ime naredbe prenosimo 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 sistemskih naredbi iz Pythona. To pruža nekoliko dodatnih prednosti, uključujući brže vrijeme izvođenja, bolje rukovanje pogreškama, raščlanjivanje rezultata i naredbe ljuske cijevi. Pythonova službena dokumentacija također preporučuje pozivanje potprocesa preko starijih modula poput os.sustav i os.spawn.
>>> uvoz potprocesa
>>> potproces.run (["ping", "- c 3", "example.com"])
Upravljanje datotekama i direktorijima putem OS modula
Pokazali smo kako stvoriti jednostavne datoteke i direktorije pomoću Python OS modula. Što ako želite stvoriti ugniježđene mape? O tome se brine i OS sustav za nas programere. Na primjer, donji isječci stvaraju mapu $ HOME / test / root / api. Također će stvoriti potrebne nadređene direktorije ako nisu dostupni.
>>> dirname = os.path.join (os.environ ['HOME'], 'test', 'root', 'api')
>>> ispis (dirname)
>>> os.makedirs (dirname)
Prvo smo dohvatili kućni direktorij pomoću okolina a zatim se pridružio nazivima mapa putem os.put.priključiti se. Izpis ispisa prikazuje naziv mape i makedirima stvara ga.
Novi direktorij možemo pregledati pomoću listdir metoda OS modula.
>>> os.chdir (os.path.join (os.environ ['HOME'], 'test', 'root', 'api'))
>>> os.system ('dodir datoteka1 datoteka2 datoteka3')
>>> os.listdir (os.environ ['KUĆA'])
Api direktorij možete lako preimenovati pomoću preimenovati naredba koju nudi OS modul. Izjava u nastavku preimenuje ovaj direktorij api u test-api.
>>> os.rename ('api', 'test-api')
Koristiti isfile i isdir funkcija OS-a ako vaš program treba provjeriti valjanost određenih datoteka ili direktorija.
>>> os.path.isfile ('datoteka1')
>>> os.path.isdir ('datoteka1')
OS modul u Pythonu također omogućava programerima da izdvajaju nazive datoteka i mapa zajedno s ekstenzijama datoteka. Ispod navedeni isječci ilustriraju upotrebu os.path.split i os.path.splitext s tim u vezi.
>>> dir = os.path.join (os.environ ['HOME'], 'test', 'root', 'api', 'file1.txt')
>>> ime, osnovno ime = os.path.split (dir)
>>> ispis (dirname)
>>> ispis (osnovno ime)
Koristite donji kôd za izdvajanje ekstenzija poput .txt ili .mp3 iz imena datoteka.
>>> naziv datoteke, ekstenzija = os.path.splitext (osnovno ime)
>>> ispis (naziv datoteke)
>>> ispis (proširenje)
Razno korištenje sustava Python OS
OS modul nudi mnoge dodatne funkcije za manipuliranje stvarima poput korisničkih procesa i planera poslova. Na primjer, možete brzo dobiti UID (korisnički ID) trenutnog postupka pomoću getuid funkcija.
>>> os.getuid ()
>>> os.getgid ()
The getgid funkcija vraća ID grupe tekućeg procesa. Koristiti brzi za dobivanje PID-a (ID procesa) i getppid da biste dobili ID nadređenog procesa.
>>> os.getpid ()
>>> os.getppid ()
Također možete koristiti OS modul za promjenu dozvola datoteka i direktorija iz vašeg Python programa. Koristiti chmod funkcija OS-a da to učini.
>>> os.chmod ('datoteka1.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 Python OS sustava
Pythonov OS modul pruža sve što je potrebno za interakciju s osnovnim operativnim sustavom. Jasno razumijevanje OS sustava potrebno je za pisanje doista višeplatformnih programa. Pokrili smo neke od osnovnih funkcionalnosti koje pruža ovaj modul kako bismo vam pomogli da započnete. Isprobajte ih vlastitim tempom i ne zaboravite petljati s njima.
Jeste li spremni podići svoje Python kodiranje na sljedeću razinu? Vrijeme je da shvatite kako stvoriti i koristiti korice.
- Programiranje
- Piton
Rubaiat je CS student sa snažnom strašću prema otvorenom kodu. Osim što je Unix veteran, bavi se i mrežnom sigurnošću, kriptografijom i funkcionalnim programiranjem. Strastveni je kolekcionar polovnih knjiga i neprestano se divi klasičnom rocku.
Pretplatite se na naše obavijesti
Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!
Još jedan korak…!
Potvrdite svoju e-adresu u e-pošti koju smo vam upravo poslali.