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. Musíte psát systém Python OS pro psaní aplikací, které se zabývají problémy v reálném světě. Tato příručka pojednává o některých základních pojmech a ukazuje, jak používat systémový příkaz Pythonu.

Vlastnosti systému Python OS

Systém OS slouží jako přenosný způsob interakce se základním operačním systémem. Kromě dalších funkcí 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.

Tento modul obsahuje také 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ů. Mezi běžné způsoby použití patří provádění příkazů prostředí, správa souborů a adresářů, procesy rozmnožování, atd.

Začínáme s modulem OS

Nejjednodušší způsob prozkoumání modulu OS je pomocí 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 do toho a nainstalujte Python na svůj místní počítač.

instagram viewer

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.

>>> import os

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

>>> os.name

Tato funkce kontroluje přítomnost určitých modulů specifických pro OS 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 informace o architektuře stroje, vydání a verzi. Použijte getcwd funkce k 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ářů. Také nám umožňuje vytvářet rekurzivní složky, což znamená, že Python vytvoří všechny chybějící adresáře, které jsou rodiči v listovém adresáři.

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

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

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

základy modulu python os

Příklady příkazů systému Python

Systémový příkaz poskytovaný modulem OS umožňuje programátorům provádět příkazy prostředí. Nezapomeňte definovat název příkazu jako řetězec. Jakmile zavoláte krajta Systém příkaz, spustí daný příkaz v novém subshellu.

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

Stejnou metodou můžete spouštět další samostatné aplikace. Následující příklad provede editor terminálu nano ze svého 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 vracejí 0 pro úspěšné provedení a nenulové hodnoty k indikaci problémů.

Systém OS v Pythonu můžete použít ke spuštění všeho, co chcete. Například pokud váš program potřebuje přečíst informace o verzi programu na počítači uživatele, 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 prostředí, který vytvoří nový soubor s názvem users.txt a naplní ji všemi přihlášenými uživateli. Mnoho programů Pythonu dělá tyto věci.

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

Název příkazu předáváme 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 dalších výhod, včetně rychlejšího běhu, lepšího zpracování chyb, analýzy výstupu a příkazů prostředí piping. Oficiální dokumentace Pythonu také doporučuje volání podprocesu přes starší moduly jako os. systém a os. spawn.

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

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

Ukázali jsme, jak vytvořit jednoduché soubory a adresáře pomocí modulu Python OS. Co když chcete vytvořit vnořené složky? Systém OS se o to postará i pro nás programátory. Například následující fragmenty vytvoří složku $ HOME / test / root / api. Vytvoří také nezbytné nadřazené adresáře, pokud nejsou k dispozici.

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

Nejprve jsme načetli domovský adresář pomocí prostředí a poté připojil názvy složek pomocí os.path.join. Tiskový příkaz zobrazí název složky a makedirs 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 isdir 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 ohledu.

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

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

>>> název souboru, přípona = os.path.splitext (název basen)
>>> tisk (název souboru)
>>> tisk (rozšíření)

Různé použití 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í getuid funkce.

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

The dostat se funkce vrátí ID skupiny spuštěného procesu. Použití getpid pro získání PID (ID procesu) a getppid získat ID nadřazeného procesu.

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

Můžete také použít modul OS 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 mění oprávnění uživatele file1.txt na 0444. Použití 0o444 namísto 0444 abyste se ujistili, že je prohlášení kompatibilní v obou hlavních verzích Pythonu.

Využijte sílu systému Python OS

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

E-mailem
Jak vytvořit a používat n-tice v Pythonu

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

Související témata
  • Programování
  • Krajta
O autorovi
Rubaiat Hossain (Publikováno 8 článků)

Rubaiat je CS grad 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 použitých knih 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 s technickými tipy, recenzemi, bezplatnými elektronickými knihami a exkluzivními nabídkami!

Ještě jeden krok…!

V e-mailu, který jsme vám právě poslali, potvrďte svou e-mailovou adresu.

.