Modul OS v Pythone poskytuje prístup k funkciám špecifickým pre systém pre prácu so súborovým systémom, procesmi, plánovačom atď. Pre písanie aplikácií, ktoré sa zaoberajú problémami v reálnom svete, musíte ovládať systém Python OS. Táto príručka pojednáva o niektorých základných konceptoch a ilustruje spôsob použitia príkazu systému Python.

Vlastnosti systému Python OS

Systém OS slúži ako prenosný spôsob interakcie so základným operačným systémom. Okrem iných funkcií ponúka prístup k názvom súborov, argumentom príkazového riadku, premenným prostredia, parametrom procesu a hierarchii súborového systému.

Tento modul obsahuje aj dva čiastkové moduly, modul os.sys a modul os.path. Funkcie poskytované modulom OS môžete využiť na vykonávanie širokej škály úloh. Niektoré bežné spôsoby použitia zahŕňajú vykonávanie príkazov shellu, správu súborov a adresárov, neresiace procesy, atď.

Začíname pracovať s modulom OS

Najjednoduchší spôsob preskúmania modulu OS je pomocou tlmočníka. Môžete tam importovať modul a používať systémové funkcie bez písania zdrojového kódu. Na to však musíte mať nainštalovaný Python. Takže pokračujte a nainštalujte si Python na lokálny počítač.

instagram viewer

Súvisiace: Ako nainštalovať Python na Ubuntu

Spustite tlmočníka zadaním pytón vo vašom termináli alebo príkazovom shell. Po otvorení importujte modul OS pomocou nasledujúceho príkazu.

>>> import os

Teraz máte prístup k funkciám poskytovaným modulom OS, vrátane Pythonu systém príkaz. Napríklad systémovú platformu môžete určiť pomocou názov príkaz. Nasledujúci príklad ukazuje, ako vyvolať systémové príkazy odhalené modulom OS.

>>> os.name

Táto funkcia kontroluje, či existujú určité moduly špecifické pre OS, a na základe toho určuje platformu. Použi nemenovať funkcia na získanie podrobnejších informácií.

>>> os.uname ()

Tento príkaz zobrazuje presnú systémovú platformu spolu s informáciami o architektúre, vydaní a verzii stroja. Použi getcwd funkcia na získanie aktuálneho pracovného adresára.

>>> os.getcwd ()

Pracovný adresár môžete ľahko zmeniť pomocou systémového príkazu Python chdir. Predajte nové umiestnenie ako parameter reťazca.

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

The mkdir Vďaka funkcii modulu OS je vytváranie nových adresárov jednoduché. Umožňuje nám tiež vytvárať rekurzívne priečinky, čo znamená, že Python vytvorí všetky chýbajúce adresáre, ktoré sú rodičmi listového adresára.

>>> os.mkdir ('nový-adresár')

Použi rmdir príkaz na odstránenie adresárov z vášho pracovného adresára.

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

základy modulu python os

Príklady príkazu systému Python

Systémový príkaz poskytovaný modulom OS umožňuje programátorom vykonávať príkazy shellu. Nezabudnite definovať názov príkazu ako reťazec. Raz zavoláte krajta systém príkaz, spustí daný príkaz v novom subshell.

>>> cmd = 'dátum'
>>> os.system (cmd)

Rovnakým spôsobom môžete spustiť aj ďalšie samostatné aplikácie. Nasledujúci príklad vykoná editor terminálov nano z vášho prostredia Pythonu.

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

Systém Python OS tiež vydáva návratový kód pre každý vykonaný príkaz. Systémy POSIX vrátia 0 za úspešné vykonanie a nenulové hodnoty naznačujúce problémy.

Systém OS v Pythone môžete použiť na spustenie čohokoľvek, čo chcete. Napríklad, ak váš program potrebuje na počítači používateľa prečítať informácie o verzii programu, môžete urobiť niečo ako nasledujúci.

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

Nasledujúci príklad vykoná jednoduchý príkaz shellu, ktorý vytvorí nový súbor s názvom users.txt a naplní ho všetkými prihlásenými používateľmi. Veľa programov v Pythone robí tieto veci.

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

Názov príkazu odovzdávame systému OS ako reťazec. Môžete použiť všetky typy užitočné príkazy terminálu rovnakým spôsobom.

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

Môžete tiež použiť podproces požaduje vykonanie systémových príkazov z Pythonu. To poskytuje niekoľko ďalších výhod, vrátane rýchlejšej doby behu, lepšieho spracovania chýb, syntaktickej analýzy výstupu a príkazov príkazového riadku. Oficiálna dokumentácia Pythonu tiež odporúča volanie subprocesu cez staršie moduly ako os.systém a os.spawn.

>>> importovať podproces
>>> subprocess.run (["ping", "- c 3", "example.com"])

Správa súborov a adresárov pomocou modulu OS

Ukázali sme si, ako vytvoriť jednoduché súbory a adresáre pomocou modulu Python OS. Čo ak chcete vytvoriť vnorené priečinky? Systém OS sa o to stará aj pre nás programátorov. Priečinok napríklad vytvárajú nižšie uvedené úryvky $ HOME / test / root / api. Tiež vytvorí potrebné nadradené adresáre, ak nie sú k dispozícii.

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

Najskôr sme vyhľadali domovský adresár pomocou environment a potom sa k nim pripojili názvy priečinkov pomocou os.path.join. V tlačenom výpise sa zobrazí názov priečinka a makedirs vytvára to.

Nový adresár si môžeme prezrieť pomocou listdir metóda modulu OS.

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

Adresár api môžete ľahko premenovať pomocou premenovať príkaz ponúkaný modulom OS. Nasledujúce vyhlásenie premenuje tento adresár api na test-api.

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

Použi isfile a isdir Funkcia OS, ak váš program potrebuje overiť konkrétne súbory alebo adresáre.

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

Modul OS v Pythone tiež umožňuje vývojárom extrahovať názvy súborov a priečinkov popri príponách súborov. Nasledujúce úryvky ilustrujú použitie os.path.split a os.path.splitext v tejto súvislosti.

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

Použite nasledujúci kód na extrahovanie prípon ako .txt alebo .mp3 z názvov súborov.

>>> nazov souboru, rozsirenie = os.path.splitext (basename)
>>> tlač (názov súboru)
>>> tlač (rozšírenie)

Rôzne použitie systému Python OS

Modul OS ponúka mnoho ďalších funkcií na manipuláciu s vecami, ako sú používateľské procesy a plánovač úloh. Napríklad môžete rýchlo získať UID (ID užívateľa) aktuálneho procesu pomocou getuid funkcia.

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

The getgid funkcia vráti ID skupiny spusteného procesu. Použite getpid pre získanie PID (id procesu) a getppid na získanie ID rodičovského procesu.

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

Môžete tiež použiť modul OS na zmenu povolení súborov a adresárov z vášho programu Python. Použi chmod funkciou OS.

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

Tento príkaz mení povolenie používateľa file1.txt do 0444. Použite 0o444 namiesto 0444 aby sme sa ubezpečili, že je vyhlásenie kompatibilné v oboch hlavných verziách Pythonu.

Využite silu systému Python OS

Modul OS v Pythone poskytuje všetko, čo potrebujete na interakciu so základným operačným systémom. Na písanie skutočne multiplatformových programov je potrebné jasné pochopenie systému OS. Pokryli sme niektoré základné funkcie poskytované týmto modulom, aby sme vám pomohli začať. Vyskúšajte ich vlastným tempom a nezabudnite si s nimi pohrať.

Email
Ako vytvárať a používať n-tice v Pythone

Ste pripravení posunúť svoje kódovanie v Pythone na vyššiu úroveň? Je čas pochopiť, ako vytvárať a používať n-tice.

Súvisiace témy
  • Programovanie
  • Python
O autorovi
Rubaiat Hossain (Publikovaných 8 článkov)

Rubaiat je CS grad so silnou vášňou pre open-source. Okrem toho, že je veteránom z Unixu, venuje sa aj zabezpečeniu sietí, kryptografii a funkčnému programovaniu. Je vášnivým zberateľom antikvariátov a má nekonečný obdiv ku klasickému rocku.

Viac od Rubaiata Hossaina

Prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu s technickými tipmi, recenziami, bezplatnými elektronickými knihami a exkluzívnymi ponukami!

Ešte jeden krok…!

V e-maile, ktorý sme vám práve poslali, potvrďte svoju e-mailovú adresu.

.