Čo je to modul OS Pythonu a ako ho používate?

Čo je to modul OS Pythonu a ako ho používate?

Modul OS v Pythone poskytuje prístup k funkciám špecifickým pre systém na prácu so súborovým systémom, procesmi, plánovačom atď. Na písanie aplikácií, ktoré sa zaoberajú problémami reálneho sveta, musíte ovládať systém Python OS. Táto príručka pojednáva o niektorých základných konceptoch a ukazuje, ako používať systémový príkaz 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. Ponúka prístup k názvom súborov, argumentom príkazového riadka, premenným prostredia, parametrom procesu a hierarchii súborového systému spolu s ďalšími funkciami.





Tento modul tiež obsahuje dva čiastkové moduly, modul os.sys a modul os.path. Funkcie poskytované modulom OS môžete používať na vykonávanie širokého spektra úloh. K niektorým bežným použitiam patrí spustenie príkazov shellu, správa súborov a adresárov, spawnovacie procesy atď.





Začíname s modulom OS

Najľahší spôsob, ako preskúmať modul 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. Pokračujte teda a nainštalujte si Python na svoj lokálny počítač.

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



Spustite tlmočenie zadaním pytón vo vašom termináli alebo príkazovom plášti. Akonáhle je otvorený, importujte modul OS pomocou nasledujúceho príkazu.

telefóny s najlepšou výdržou batérie 2016
>>> import os

Teraz máte prístup k funkciám poskytovaným modulom OS vrátane Pythonu systému príkaz. Platformu systému môžete napríklad 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 sú k dispozícii určité moduly špecifické pre operačný systém, a na základe toho určuje platformu. Použi uname funkcia na získanie podrobných informácií.

>>> os.uname()

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





>>> os.getcwd()

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

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

The mkdir funkcia modulu OS uľahčuje vytváranie nových adresárov. 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 adresára leaf.

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

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

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

Príklady príkazov 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. Akonáhle zavoláte pythona systému príkaz, spustí daný príkaz v novom subshell.

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

Rovnakou metódou môžete spustiť ďalšie samostatné aplikácie. Nasledujúci príklad spustí nano editor terminálu z vášho shellu Python.

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

Systém Python OS taktiež vydáva návratový kód pre každý vykonávaný príkaz. Systémy POSIX vracajú 0 pre úspešné spustenie a nenulové hodnoty označujú problémy.

Systém OS v Pythone môžete použiť na spustenie čohokoľvek, čo chcete. Ak napríklad váš program potrebuje prečítať informácie o verzii programu na užívateľskom počítači, môžete urobiť niečo podobné.

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

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

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

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

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

Môžete tiež použiť podproces požaduje spustenie systémových príkazov z Pythonu. To poskytuje niekoľko ďalších výhod, vrátane rýchlejšieho behu, lepšieho spracovania chýb, príkazov na analýzu výstupu a príkazov shellu potrubia. Oficiálna dokumentácia Pythonu tiež odporúča volať podprocesy cez staršie moduly ako os.systému a os.spawn .

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

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

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

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

Najprv sme získali domovský adresár pomocou o a potom sa spojili s názvami priečinkov pomocou os.path.join . Tlačový výpis 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 súboru 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 názov funkciu 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 spolu s príponami 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)

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

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

Rôzne používanie systému Python OS

Modul OS ponúka mnoho ďalších funkcií na manipuláciu napríklad s používateľskými procesmi a plánovačom úloh. Napríklad môžete rýchlo získať UID (ID používateľa) aktuálneho procesu pomocou súboru svedkom funkciu.

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

The dostať sa funkcia vráti ID skupiny spusteného procesu. Použite dostať sa na získanie PID (ID procesu) a getppid získať ID rodičovského procesu.

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

Modul OS môžete použiť aj na zmenu povolení súborov a adresárov z vášho programu Python. Použi chmod funkciu OS na to.

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

Tento príkaz zmení povolenie programu súbor1.txt do 0444 . Použite 0o444 namiesto 0444 aby sme sa uistili, že je príkaz kompatibilný s oboma hlavnými verziami Pythonu.

Využite silu systému Python OS

Modul OS Pythonu 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é porozumenie systému OS. Aby sme vám pomohli začať, pokryli sme niektoré základné funkcie tohto modulu. Vyskúšajte ich svojim vlastným tempom a nezabudnite si s nimi pohrávať.

zdieľam zdieľam Tweet E -mail Ako vytvárať a používať Tuple v Pythone

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

Čítajte ďalej
Súvisiace témy
  • Programovanie
  • Python
O autorovi Rubaiat Hossain(39 publikovaných článkov)

Rubaiat je CS CS so silnou vášňou pre open-source. Okrem toho, že je veteránom Unixu, zaujíma sa aj o zabezpečenie siete, kryptografiu a funkčné programovanie. Je vášnivým zberateľom použitých kníh a má nekonečný obdiv k klasickému rocku.

Viac od Rubaiat Hossain

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné elektronické knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber