Knihovna os (Operating System) v Pythonu je naprostý základ, pokud potřebuješ, aby tvůj program komunikoval s operačním systémem. Umožňuje ti vytvářet složky, mazat soubory, pracovat s cestami nebo zjišťovat informace o systému, na kterém kód běží.
Zde je přehled toho nejdůležitějšího, co bys měl/a znát:
1. Práce se soubory a adresáři
Tato část je v praxi nejpoužívanější. Umožňuje ti spravovat strukturu složek přímo z Pythonu.
os.getcwd(): Vrátí aktuální pracovní adresář (Current Working Directory).os.chdir('cesta/k/adresari'): Změní aktuální pracovní adresář.os.listdir('.'): Vypíše seznam všech souborů a složek v daném umístění.os.mkdir('nova_slozka'): Vytvoří jednu novou složku.os.makedirs('slozky/pod/sebou'): Vytvoří celou cestu složek (včetně chybějících nadřazených).os.remove('soubor.txt'): Smaže soubor.os.rmdir('prazdna_slozka'): Smaže prázdnou složku.
2. Práce s cestami (os.path)
Cesty k souborům se na Windows (používá \) a Unixu/Linuxu (používá /) liší. Modul os.path tohle řeší za tebe, aby tvůj kód fungoval všude.
3. Systémové informace a příkazy
Někdy potřebuješ sáhnout hlouběji do systému nebo spustit terminálový příkaz.
Proměnné prostředí:
os.environ.get('USER')ti vytáhne jméno přihlášeného uživatele nebo jiné systémové proměnné.Spuštění příkazu:
os.system('echo Hello World')spustí příkaz přímo v terminálu/příkazové řádce.Identifikace OS:
os.name(obvykle vrací 'posix' pro Linux/Mac nebo 'nt' pro Windows).
Praktická ukázka: Bezpečné vytvoření složky a souboru
Místo složitého řetězení textu se to v Pythonu dělá takto elegantně:
import os
# 1. Definujeme název složky a souboru
folder_name = "data_export"
file_name = "vysledky.txt"
# 2. Vytvoříme cestu nezávislou na OS
path = os.path.join(folder_name, file_name)
# 3. Pokud složka neexistuje, vytvoříme ji
if not os.path.exists(folder_name):
os.mkdir(folder_name)
print(f"Složka {folder_name} vytvořena.")
# 4. Teď můžeme se souborem pracovat
with open(path, "w") as f:
f.write("Ahoj z Pythonu!")
Poznámka pro moderní Python: Pokud začínáš nový projekt, mrkni také na knihovnu
pathlib(dostupná od Pythonu 3.4). Je objektově orientovaná a mnozí ji považují za čitelnější nástupce moduluos.path.
Mód | Název, Co udělá s existujícím souborem?, | "Co udělá, když neexistuje?"
--------------------------------------------------------------------------------------
'w' | Write, Smaže obsah a začne znovu. | Vytvoří ho.
'a' | Append, Ponechá obsah a píše na konec. | Vytvoří ho.
'r' | Read, Jen čte (nemění nic). | Chyba!
'r+' | Read+, Umožní číst i zapisovat (přepisuje od začátku). | Chyba!
'x' | Exclusive, Chyba! (Chrání existující data). | Vytvoří ho.
Žádné komentáře:
Okomentovat
Poznámka: Komentáře mohou přidávat pouze členové tohoto blogu.