Úvod
Jednou z hlavních funkcí programovacích jazyků je pomáhat vám pracovat s daty. To zahrnuje zápis, čtení, ukládání a také přenos dat. Python je jedním z nejpopulárnějších programovacích jazyků. Pokud plánujete používat Python, měli byste mít základní představu o tom, jak používat různé typy souborů. Nejjednodušším typem souboru je formát txt neboli prostý textový soubor. Představte si, že máte program, který kontroluje přístup uživatelů. Samotný seznam bude uložen jako textový soubor. Takže i když pro určité korporace můžete použít jiný program, hodnoty budete extrahovat z textového dokumentu. Proto je důležité rozumět formátu textových souborů.
V tomto návodu, začneme stručným přehledem základních formátů souborů v Pythonu. Poté zjistíme, jak v programu otevírat, číst a zapisovat textové soubory.
Než začneme…
Než začneme s návodem, musíte splnit několik předpokladů. Nejprve byste již měli mít nainstalovaný Python 3. Kromě toho potřebujete na svém systému lokální programovací prostředí. Tento návod je použitelný pro Ubuntu 16.04 a vyšší, Debian 8, CentOS 7, Mac OS X a Windows 10.
Formáty souborů
V Pythonu můžete využít různé formáty souborů. Níže uvedená tabulka uvádí všechny různé formáty a kde je můžete použít:
| Typ souboru | Popis |
|---|---|
| txt | Prostý textový soubor ukládá data, která představují pouze znaky (nebo řetězce) a neobsahují žádná strukturovaná metadata. |
| CSV | Soubor s hodnotami oddělenými čárkami používá k strukturování uložených dat čárky (nebo jiné oddělovače), což umožňuje ukládat data ve formátu tabulky. |
| HTML | Soubor HyperText Markup Language ukládá strukturovaná data a běžně se používá u většiny webových stránek. |
| JSON | JavaScript Object Notation je jednoduchý a efektivní formát, což z něj činí jeden z nejčastěji používaných formátů pro ukládání a přenos dat. |
V tomto návodu podrobněji prozkoumáme formát souborů txt.
Krok 1: Vytvoření textového souboru
Nejprve musíme v Pythonu vytvořit nový textový soubor. Pro lepší pochopení si uvedeme příklad se dny v týdnu. Za tímto účelem otevřeme textový editor, vytvoříme nový soubor txt a pojmenujeme ho days.txt. Dále zadejme dny v týdnu jako jednotlivé řádky v novém souboru:
|
1 2 3 4 5 6 7 |
Pondělí Úterý Středa Čtvrtek Pátek Sobota Neděle |
Nyní, když máme obsah, soubor uložíme. Je důležité si zapamatovat, kam soubor ukládáte. Řekněme, že náš uživatel je sammy. Uživatel uložil soubor na následující cestu: /users/sammy/days.txt. Tuto cestu budeme používat v dalších krocích.
Krok 2: Otevření textového souboru
Než začnete s psaním programu, musíte v editoru vytvořit soubor. Vytvoříme soubor s názvem files.py a uložíme ho do adresáře /users/sammy stejně jako náš soubor days.txt file.
Chcete-li otevřít jakýkoli soubor, musíte zahájit spojení mezi souborem na disku a proměnnou. To je to, co představuje „otevření“ souboru. Umístění souboru je určeno cestou k souboru. K otevření souboru potřebujete jeho cestu. Například cesta k souboru days.txt je následující: /users/sammy/days.txt. Poté vytvoříme řetězcovou proměnnou pro uložení těchto dat. Jak uvidíte níže, v kódu path vytvoříme proměnnou files.py a změníme ji podle cesty k souboru days.txt :
|
1 |
path = '/users/sammy/days.txt' |
Poté pomocí funkce open() otevřeme soubor days.txt. Této funkci musíte předat cestu k souboru. Mezi dalšími parametry je nejdůležitější parametr režimu (mode). Jedná se o volitelný řetězec, kterým můžete určit režim, ve kterém soubor otevíráte. Níže jsou uvedeny některé z možností režimu:
'r’: čtení'w’: zápis'x’: vytvoření a zápis nového souboru'a’: připojení na konec souboru'r+’: čtení a zápis stejného souboru
Chcete-li ze souboru pouze číst, musíte použít režim 'r’. Spusťte funkci open() a otevřete soubor days.txt. Poté jej přiřaďte do proměnné days_file :
|
1 |
days_file = open(path,'r') |
Krok 3: Čtení textového souboru
Po otevření souboru z něj můžeme číst prostřednictvím proměnné. Se čtením souboru jsou spojeny tři operace. Pojďme prozkoumat všechny tři.
První operace je <file>.read(). Ukáže vám celý obsah souboru v jednom řetězci:
|
1 |
days_file.read() |
Výstup:
|
1 |
'Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday\n' |
<file>.readline(). To vám ukáže další řádek v souboru. V podstatě to bude číst soubor řádek po řádku:|
1 |
days_file.readline() |
Výstup:
|
1 |
'Monday\n' |
|
1 |
days_file.readline() |
Výstup:
|
1 |
'Tuesday\n' |
<file>.readlines(). Ukáže vám seznam všech řádků v souboru. Každá položka představuje jeden řádek:|
1 |
days_file.readlines() |
Výstup:
|
1 |
['Monday\n', 'Tuesday\n', 'Wednesday\n', 'Thursday\n', 'Friday\n', 'Saturday\n', 'Sunday\n'] |
Krok 4: Zápis do souboru
Dále se naučíme, jak zapsat nový soubor. Tento soubor bude mít v našem příkladu název (Dny v týdnu) a následně dny v týdnu.
Pro začátek musíme vytvořit proměnnou title :
|
1 |
title = 'Days of the Week\n' |
Následně musíme uložit dny v týdnu ve formě řetězcové proměnné. Tato proměnná se bude jmenovat days. Budeme i nadále používat kód, který jsme použili v předchozích krocích. Otevřeme soubor v režimu pro čtení a uložíme výstup do naší nové days proměnné:
|
1 2 3 |
path = '/users/sammy/days.txt' days_file = open(path,'r') days = days_file.read() |
To znamená, že jsme vytvořili proměnné pro název i pro jednotlivé dny v týdnu. Nyní můžeme zapsat samotný soubor. Prvním krokem je specifikovat umístění souboru pomocí adresáře /users/sammy/. V cestě také specifikujete nový soubor: /users/sammy/new_days.txt. Cesta k umístění zůstane v proměnné new_path . Dále otevřete soubor v režimu zápisu pomocí funkce open() v ‘w’ režimu:
|
1 2 |
new_path = '/users/sammy/new_days.txt' new_days = open(new_path,'w') |
Nyní, když je soubor otevřený, můžete zadávat data pomocí funkce zápisu <file>.write(). Zde musíte zadat jeden řetězcový parametr. Pokud chcete vložit nový řádek, zadejte znak nového řádku. Do našeho souboru nejprve zapíšeme název a poté dny v týdnu. Zároveň budeme mít také několik příkazů print pro sledování průběhu skriptu:
|
1 2 3 4 |
new_days.write(title) print(title) new_days.write(days) print(days) |
Krok 5: Zavření souboru
Zavřením souboru ukončíte spojení mezi souborem na disku a proměnnou souboru. Když je soubor zavřený, mohou k němu přistupovat jiné programy. To také pomáhá udržet soubor a jeho data v bezpečí. Proto po dokončení zpracování souborů nezapomeňte soubory vždy zavřít. K tomu můžete použít funkci <file>.close() :
|
1 2 |
days_file.close() new_days.close() |
Tím je aspekt zpracování souborů v Pythonu dokončen.
Krok 6: Kontrola kódu
Nakonec zkontrolujeme kód. To byste měli udělat před spuštěním kódu, který jste napsali. Kód by měl vypadat nějak takto:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
path = '/users/sammy/days.txt' days_file = open(path,'r') days = days_file.read() new_path = '/users/sammy/new_days.txt' new_days = open(new_path,'w') title = 'Dny v týdnu\n' new_days.write(title) print(title) new_days.write(days) print(days) days_file.close() new_days.close() |
Jakmile kód uložíte, musíte spustit Python skript. K tomu je potřeba otevřít terminál:
|
1 |
$ python files.py |
Zobrazí se následující výstup:
|
1 2 3 4 5 6 7 8 9 |
Dny v týdnuWeek Pondělí Úterý Středa Čtvrtek Pátek Sobota Neděle |
Chcete-li kód zkontrolovat, otevřete nový soubor, kterým je new_days.txt. Pokud je vše v pořádku, uvidíte následující:
|
1 2 3 4 5 6 7 8 9 |
Dny v týdnuWeek Pondělí Úterý Středa Čtvrtek Pátek Sobota Neděle |
Pokud vidíte něco podobného jako výše, úspěšně jste dokončili všechny kroky.
Závěr
Cílem tohoto návodu bylo seznámit vás se základními formáty souborů v Pythonu 3. Mezi nimi je jedním z nejdůležitějších formát textového souboru. Ten jsme prozkoumali podrobněji. Nyní jste si dobře vědomi procesu a kroků spojených s otevíráním, čtením, zápisem a zavíráním datových souborů. S využitím těchto informací budete moci efektivně využívat formát textového souboru ve svých vlastních programech v Pythonu.
Nyní, když jste se naučili pracovat s čistě textovými soubory v Pythonu, přinámsíme vám několik dalších návodů z našeho blogu, které vám pomohou začít s používáním Pythonu:
- Použití formátování řetězců v Pythonu 3
- Cykly v Pythonu 3: Použití příkazů Break, Continue a Pass
- Python 3: Průvodce převodem datových typů
- Jak procházet webové stránky pomocí Scrapy a Pythonu 3
Přejeme příjemné programování!
Komentáře
Zatím žádné komentáře. Buďte první.