Práce se soubory je základní dovednost v programování, která umožňuje aplikacím ukládat data na pevný disk, číst data z disku nebo komunikovat s externími zdroji dat. Python, jako všestranný a snadno použitelný programovací jazyk, nabízí několik jednoduchých metod pro čtení a zápis souborů. V tomto článku se podíváme na základní operace souborového systému v Pythonu, včetně otevírání, čtení, zápisu a zavírání souborů.
Otevírání souborů
Pro práci se soubory v Pythonu se nejprve musí soubor otevřít pomocí vestavěné funkce open()
. Tato funkce přijímá dva hlavní argumenty: cestu k souboru a režim, ve kterém soubor otevíráme. Existuje několik režimů, například r
pro čtení, w
pro zápis (přičemž existující obsah souboru se smaže), a
pro přidávání na konec souboru a r+
pro čtení a zápis.
soubor = open('cesta/k/souboru.txt', 'r')
Čtení z souborů
Po otevření souboru ho můžeme číst. K tomu slouží několik metod, jako je read()
, která přečte celý soubor, nebo readline()
, která přečte jednu řádku, a readlines()
, která vrátí seznam všech řádků v souboru.
obsah = soubor.read()
print(obsah)
Zápis do souborů
Pro zápis do souboru použijeme režim w
nebo a
při otevírání souboru. Pro samotný zápis pak existuje metoda write()
, která do souboru zapíše řetězec.
soubor = open('cesta/k/souboru.txt', 'w')
soubor.write('Toto je testovací řetězec.')
Zavírání souborů
Po dokončení práce se souborem je důležité soubor řádně zavřít voláním metody close()
. Tím se uvolní systémové zdroje, které soubor využíval.
soubor.close()
Práce se soubory pomocí kontextových manažerů
Abychom se vyhnuli problémům se zavíráním souborů, doporučuje se používat kontextové manažery pomocí klíčového slova with
. Tento přístup zajistí, že soubor bude automaticky zavřen po opuštění bloku kódu.
with open('cesta/k/souboru.txt', 'r') as soubor:
obsah = soubor.read()
print(obsah)
Čtení a zápis souborů v Pythonu je díky jeho vestavěným funkcím a metodám snadný a přímý proces. S využitím kontextových manažerů je navíc práce se soubory bezpečnější a efektivnější. Díky těmto dovednostem můžete snadno manipulovat s daty uloženými na disku a využívat je ve vašich Python aplikacích.