Co je modul OS Pythonu a jak jej používáte?

Co je modul OS Pythonu a jak jej používáte?

Modul OS v Pythonu poskytuje přístup k funkcím specifickým pro systém pro práci se souborovým systémem, procesy, plánovačem atd. Je třeba zvládnout systém Python OS pro psaní aplikací, které řeší problémy reálného světa. Tato příručka pojednává o některých základních pojmech a ukazuje, jak používat systémový příkaz Python.





Vlastnosti systému Python OS

Systém OS slouží jako přenosný způsob interakce se základním operačním systémem. Nabízí přístup k názvům souborů, argumentům příkazového řádku, proměnným prostředí, parametrům procesu a hierarchii souborového systému spolu s dalšími funkcemi.





Tento modul také obsahuje dva dílčí moduly, modul os.sys a modul os.path. Funkce poskytované modulem OS můžete použít k provádění široké škály úkolů. Některá běžná použití zahrnují spouštění příkazů shellu, správu souborů a adresářů, spawnovací procesy atd.





Začínáme s modulem OS

Nejsnadnější způsob prozkoumání modulu OS je prostřednictvím tlumočníka. Můžete tam importovat modul a používat systémové funkce bez psaní zdrojového kódu. K tomu však musíte mít nainstalovaný Python. Takže pokračujte a nainstalujte Python na svůj místní počítač.

Příbuzný: Jak nainstalovat Python na Ubuntu



Spusťte tlumočníka zadáním krajta ve vašem terminálu nebo příkazovém prostředí. Jakmile je otevřený, importujte modul OS pomocí následujícího příkazu.

proč je můj prohlížeč tak pomalý Firefox?
>>> import os

Nyní máte přístup k funkcím poskytovaným modulem OS, včetně Pythonu Systém příkaz. Můžete například určit systémovou platformu pomocí název příkaz. Následující příklad ukazuje, jak vyvolat systémové příkazy vystavené modulem OS.





>>> os.name

Tato funkce kontroluje, zda jsou k dispozici určité moduly specifické pro operační systém, a na základě toho určuje platformu. Použijte uname funkce pro získání podrobných informací.

>>> os.uname()

Tento příkaz zobrazuje přesnou systémovou platformu vedle informací o architektuře stroje, verzi a verzi. Použijte getcwd funkce pro načtení aktuálního pracovního adresáře.





>>> os.getcwd()

Pracovní adresář můžete snadno změnit pomocí systémového příkazu Python chdir . Předejte nové umístění jako parametr řetězce.

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

The mkdir funkce modulu OS usnadňuje vytváření nových adresářů. Umožňuje nám také vytvářet rekurzivní složky, což znamená, že Python vytvoří všechny chybějící adresáře, které jsou rodiči adresáře listů.

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

Použijte rmdir příkaz k odstranění adresářů z vašeho pracovního adresáře.

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

Příklady příkazu systému Python

Systémový příkaz poskytovaný modulem OS umožňuje programátorům spouštět příkazy shellu. Nezapomeňte definovat název příkazu jako řetězec. Jakmile zavoláte python Systém příkaz, spustí daný příkaz v novém subshell.

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

Stejnou metodou můžete spustit další samostatné aplikace. Následující příklad spustí nano editor terminálu z vašeho prostředí Python.

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

Systém Python OS také vydává návratový kód pro každý spuštěný příkaz. Systémy POSIX vrací 0 pro úspěšné provedení a nenulové hodnoty označují problémy.

Systém OS v Pythonu můžete použít ke spuštění čehokoli, co chcete. Pokud váš program například potřebuje přečíst informace o verzi programu na uživatelském počítači, můžete udělat něco jako následující.

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

Níže uvedený příklad provede jednoduchý příkaz shellu, který vytvoří nový soubor s názvem users.txt a naplní jej všemi přihlášenými uživateli. Mnoho věcí dělá tyto programy.

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

Předáváme název příkazu systému OS jako řetězec. Můžete použít všechny typy užitečné příkazy terminálu stejně.

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

Můžete také použít podproces volá po provádění systémových příkazů z Pythonu. To poskytuje několik přidaných výhod, včetně rychlejšího běhu, lepšího zpracování chyb, analýzy výstupu a příkazů prostředí shell. Oficiální dokumentace Pythonu také doporučuje volání podprocesu přes starší moduly jako os.systému a os.spawn .

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

Správa souborů a adresářů pomocí modulu OS

Ukázali jsme, jak pomocí modulu Python OS vytvářet jednoduché soubory a adresáře. Co když chcete vytvořit vnořené složky? O to se za nás programátory stará i systém OS. Složku vytvoří například následující úryvky $ HOME/test/root/api . Pokud nejsou k dispozici, vytvoří také potřebné nadřazené adresáře.

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

Nejprve jsme získali domovský adresář pomocí o a poté se připojil k názvům složek pomocí os.path.join . Tiskový příkaz zobrazí název složky a makediry vytváří to.

Nový adresář můžeme zobrazit pomocí listdir metoda 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ář api můžete snadno přejmenovat pomocí přejmenovat příkaz nabízený modulem OS. Níže uvedený příkaz přejmenuje tento adresář API na test-api.

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

Použijte isfile a název funkce OS, pokud váš program potřebuje ověřit konkrétní soubory nebo adresáře.

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

Modul OS v Pythonu také umožňuje vývojářům extrahovat názvy souborů a složek vedle přípon souborů. Níže uvedené úryvky ilustrují použití os.path.split a os.path.splitext v tomto kontextu.

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

Pomocí níže uvedeného kódu extrahujte z názvů souborů přípony jako .txt nebo .mp3.

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

Různé používání systému Python OS

Modul OS nabízí mnoho dalších funkcí pro manipulaci s věcmi, jako jsou uživatelské procesy a plánovač úloh. Například můžete rychle získat UID (ID uživatele) aktuálního procesu pomocí svědkem funkce.

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

The dostat funkce vrací ID skupiny běžícího procesu. Použití dostat se pro získání PID (ID procesu) a getppid získat ID nadřazeného procesu.

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

Modul OS můžete také použít ke změně oprávnění souborů a adresářů z vašeho programu Python. Použijte chmod funkce OS k tomu.

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

Tento příkaz změní oprávnění soubor1.txt na 0444 . Použití 0o444 namísto 0444 abychom se ujistili, že je příkaz kompatibilní s oběma hlavními verzemi Pythonu.

Využijte sílu systému Python OS

Modul OS Pythonu poskytuje vše, co potřebujete k interakci se základním operačním systémem. K psaní skutečně multiplatformních programů je zapotřebí jasné porozumění systému OS. Abychom vám pomohli začít, pokryli jsme některé základní funkce poskytované tímto modulem. Vyzkoušejte je svým vlastním tempem a nezapomeňte si s nimi pohrát.

Podíl Podíl tweet E-mailem Jak vytvářet a používat n -tice v Pythonu

Jste připraveni posunout své kódování Pythonu na další úroveň? Je na čase pochopit, jak vytvářet a používat n -tice.

Číst dále
Související témata
  • Programování
  • Krajta
O autorovi Rubaiat Hossain(39 článků zveřejněno)

Rubaiat je absolventem CS se silnou vášní pro open-source. Kromě toho, že je veteránem Unixu, věnuje se také zabezpečení sítě, kryptografii a funkčnímu programování. Je vášnivým sběratelem knih z druhé ruky a má nekonečný obdiv ke klasickému rocku.

Více od Rubaiat Hossain

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné elektronické knihy a exkluzivní nabídky!

Kliknutím sem se přihlásíte k odběru