From a16fb609ab2d0dc7d9045d616272c69ce8563750 Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Mon, 20 May 2019 14:36:44 +0200 Subject: [PATCH 1/3] Add materials on paths & directories --- lessons/fast-track/filesystem/index.md | 198 +++++++ lessons/fast-track/filesystem/info.yml | 4 + lessons/intro/pathlib/index.md | 621 +++++++++++++++++++++ lessons/intro/pathlib/info.yml | 5 + lessons/intro/pathlib/static/archiv.tar.gz | Bin 0 -> 161139 bytes 5 files changed, 828 insertions(+) create mode 100644 lessons/fast-track/filesystem/index.md create mode 100644 lessons/fast-track/filesystem/info.yml create mode 100644 lessons/intro/pathlib/index.md create mode 100644 lessons/intro/pathlib/info.yml create mode 100644 lessons/intro/pathlib/static/archiv.tar.gz diff --git a/lessons/fast-track/filesystem/index.md b/lessons/fast-track/filesystem/index.md new file mode 100644 index 0000000000..9fb64d6d1d --- /dev/null +++ b/lessons/fast-track/filesystem/index.md @@ -0,0 +1,198 @@ +# Soubory a cesty + +Informace uložené v Pythonních proměnných – seznamech, slovnících, a tak dále – jsou dočasné. +Jakmile Python ukončíš, zmizí. +Chceš-li něco uložit na delší dobu, nebo třeba sdílet s jinými programy, +můžeš si informace uložit do souboru. + +S počítačovými soubory (angl. *files*) už ses asi setkal{{a}}. +Teď se na ně ale podívejme trochu podrobněji. + +Soubor je místo, kam se dají ukládat informace – *obsah*. Kromě obsahu mají soubory ještě další vlastnosti: + +* *jméno*, podle kterého se soubor dá najít, +* informace o *vlastnictví* a *oprávnění*, které určují kdo může ze souboru + číst a kdo do něj může zapisovat, +* informace o *časech* vytvoření, posledního zápisu, a podobně, +* a další informace, na každém druhu operačního systému jiné. + +Tak jako je kapitola v knížce poskládaná z písmenek, obsah souboru je +poskládaný z *bajtů* (angl. *bytes*) – malých čísel. +Každá informace, kterou počítač umí zpracovat, se dá zakódovat do bajtů +podobně jako se z písmenek skládá text. + +Soubory jsou většinou uloženy na disku (nebo podobném médiu), kde bývá místo +na bilióny bajtů. +Aby počítač poznal, kde na disku je který soubor, používá *souborový systém* +(angl. *filesystem*). +Ten plní podobnou funkci jako v knížce obsah, jména kapitol a čísla stránek. + + +## Operační systémy + +Souborových systémů existuje spousta druhů. +Experti nám snad prominou hrubé zjednodušení, když si je rozdělíme na dva +druhy: ty pro Windows a ty pro Unix. + +Unix je operační systém, vytvořený v sedmdesátých letech, ze kterého vycházejí +dnešní systémy Linux, macOS a další. +Základní principy, o kterých bude řeč tady, se od dob Unixu většinou +příliš nezměnily. +A tak když v těchto materiákech uvidíš jméno „Unix“, jde o něco společné pro +Linux i macOS. +Hlavní rozdíly mezi Linuxem a macOS jsou v konvencích – např. na Linuxu se +místo pro domovské adresáře jmenuje většinou `/home`, kdežto na macOS `/Users`. + +Další rozšířený operační systém, Windows, z Unixu nevychází. +Některé věci se v něm, jak později uvidíme, chovají jinak. + + +## Adresáře + +Na dnešních souborových systémech jsou soubory tříděny do *adresářů* neboli +*složek* (angl. *directory*, *folder*). +Adresář může obsahovat spoustu souborů nebo i jiných adresářů. + +A teď něco, co pro tebe může být nové: pro programátory jsou adresáře taky soubory. +Souborů je dokonce spousta druhů: *normální soubory* s informacemi, adresáře +(které obsahují další soubory), speciální soubory které můžou reprezentovat +celý disk nebo spojení mezi počítači, odkazy na jiné soubory, a tak dále. +Co je a co není soubor závisí na systému. +Dnes se proto omezíme jen na dva druhy souborů, které najdeme jak na Windows +tak na Unixu: normální datové soubory (ty, které si pod jménem „soubor“ +představí běžný uživatel) a adresáře. + + +## Cesty + +Abys mohl/a najít nějaký soubor, potřebuješ znát jeho jméno a adresář, +který ten soubor obsahuje. +Abys pak mohl/a najít ten adresář, musíš opět znát jméno adresáře a adresář, +který ho obsahuje. +A tak dál, až se dostaneš ke *kořenovému adresáři* (angl. *root directory*), +který (zjednodušeně řečeno) obsahuje celý souborový systém. +Když napíšeš jména všech adresářů které takhle projdeš za sebe, dostaneš +*cestu* (angl. *path*) k danému souboru. +Taková cesta by mohla na Unixu být třeba: + +* Linux: `/home/janca/Documents/archiv.tar.gz` +* macOS: `/Users/janca/Documents/archiv.tar.gz` + +To znamená, že začneš v kořenovém adresáři (který se na Linuxu jmenuje `/`), +v něm hledáš adresář `home` nebo `Users` (ten tradičně obsahuje domovské +adresáře uživatelů), v něm pak `janca` (podle uživatelského jména), +v něm `Documents`, a v něm pak `archiv.tar.gz`. +To už není adresář, ale normální soubor do kterého se dají zapsat informace. + +Obdobná cesta na Windows by mohla být třeba: +`C:\Users\Jana\Documents\archiv.tar.gz` + +Tahle cesta začíná na disku `C:`. +Windows mají na rozdíl od Unixu zvláštní souborový systém pro každý disk, +a tak mají víc kořenových adresářů – třeba `C:\` a `D:\`. +Dál je to podobné jako na Unixu, jen oddělovač adresářů je zpětné lomítko +místo obyčejného. + +## Absolutní a relativní cesty + +Cesta, která začíná v konkrétním kořenovém adresáři, se nazývá *absolutní* +cesta (angl. *absolute* path). Je jako úplná poštovní adresa: +správně nadepsaný dopis můžu hodit do schránky kdekoli na světě a (teoreticky) +vždy dojde k adresátovi. + +Když ale dopis do Česka házím do české schránky, můžu vynechat informaci +o kontinentu a zemi. +Je to tak kratší a jednodušší‚ ale z Austrálie by to nefungovalo. + +Na podobném principu jsou založeny *relativní cesty* (angl. *relative paths*). +Když už jsi v domovském adresáři, stačí zadat cestu `Documents/archiv.tar.gz`, +bez lomítek či jména disku na začátku. +To znamená, že cesta nezačíná v kořenovém adresáři, ale v *aktuálním adresáři* +(angl. *current directory*) – tam, kde právě jsi. +Kdyby ses pomocí `cd` přepnul{{a}} jinam, tahle relativní cesta by přestala +fungovat. + +Kde relativní cesta „začíná“, to záleží na kontextu – většinou jde o aktuální +adresář, ale může to být třeba gitový repozitář +(hlavní adresář nějakého projektu), adresář s programem který právě běží, +a podobně. + +## Dvě tečky a jedna tečka + +Každý adresář obsahuje dva speciální záznamy: `..` a `.`. + +Jméno `.` (tečka) vždy označuje samotný adresář. +Tudíž `/home/janca` je stejný adresář jako `/home/janca/.`, +`/home/janca/././././.` a tak dál. +To nezní moc užitečně – ale jen do té doby, než potřebuješ zadat jako +relativní cestu samotný aktuální adresář. + +Jméno `..` (dvě tečky) označuje *nadřazený adresář*. +Když se tohle jméno objeví v cestě, znamená to, že potřebujeme přejít +o úroveň výš. +Jsi-li v adresáři `/home/janca/Pictures/dovolena`, tak: + +* cesta `..` znamená adresář `/home/janca/Pictures` +* cesta `../../programy/venv` znamená `/home/janca/programy/venv` +* absolutní cesta `/home/janca/Documents/../Pictures/dovolena` + znamená `/home/janca/Pictures/dovolena` + +> [note] +> Striktně řečeno, výše uvedené neplatí vždycky: +> speciální soubory zvané *symbolické odkazy* (angl. *symlinks*) můžou počítač +> při procházení cesty přesměrovat tak, že `Documents/../Pictures` bude jiný +> soubor než `Pictures`. +> Detaily jsou nad rámec těchto materiálů, nicméně je to důvod, proč Python +> nebude automaticky nahrazovat `Documents/../Pictures` za `Pictures`. + + +## Jména souborů + +Jméno souboru je řetězec. Nemůže to ale být jakýkoli řetězec. +Různé systémy mají různou maximální délku jména (i když na tenhle limit dnes +většinou nenarazíš). +A navíc je omezen i obsah – jméno souboru nesmí obsahovat: + +* na Unixu oddělovač adresářů `/` ani speciální nulový znak, +* na windows oddělovač `\`, znaky `<>:"/|?*` ani speciální znaky (např. + tabulátor, znak nového řádku). + +Nedoporučuji s názvy příliš experimentovat, protože některé validní znaky +můžou v určitých kontextech mít zvláštní význam (např. `*` a `?` jako zástupné +znaky), špatně se používají (např. mezery a nové řádky), působí problémy +s kódováním (např. písmena s diakritikou nebo emoji), nebo naráží na problémy +s tím, že Windows nerozlišují velikost písmen ale Unix ano. + +Programátoři by se tak měli omezit na: + +* malá písmena bez diakritiky, +* číslice `0` - `9`, +* pomlčku `-`, +* podtržítko `_`, a +* tečku jako oddělovač přípony. + +Možná sis všiml{{a}}, že normální lomítko, `/`, nesmí na Windows být ve jménu +souboru. +Spousta moderních programů (včetně většiny knihoven v Pythonu) toho využívá a +dopředná lomítka automaticky zaměňuje za zpětná. +Můžeš tak na všech systémech používat stejné relativní cesty: `Documents/archiv.tar.gz` většinou funguje i na Windows. + + +## Přípony + +Hodně jmen souborů obsahuje tečku a za ní krátkou *příponu* (angl. *extension*), +která tradičně indikuje formát souboru – způsob, +kterým jsou v souboru zakódovány informace. +Například soubor `hrad.jpeg` má příponu `.jpeg`. +Ten kdo ví, že [JPEG](https://cs.wikipedia.org/wiki/JPEG) je způsob zakódování +obrázku (zvlášť vhodný pro fotografie), si tak může domyslet že v souboru je +nejspíš fotka hradu. + +Pythonisti zase poznají příponu `.py`. +Python samotný ji vyžaduje: příkaz `import module` hledá soubor `module.py`. + +Přípony jsou zvlášť důležité na Windows, kde se podle nich vybírá program, +kterým se soubor otevře. +(Unix se oproti tomu dívá v prvé řadě na samotný obsah souboru.) + +Přípon se může objevit i víc: `archiv.tar.gz` nejspíš obsahuje několik souborů spojených dohromady ve formátu [tar](https://cs.wikipedia.org/wiki/Tar_%28informatika%29) a pak zkomprimovaných ve formátu [gzip](https://cs.wikipedia.org/wiki/Gzip). diff --git a/lessons/fast-track/filesystem/info.yml b/lessons/fast-track/filesystem/info.yml new file mode 100644 index 0000000000..949fd52838 --- /dev/null +++ b/lessons/fast-track/filesystem/info.yml @@ -0,0 +1,4 @@ +title: Souborové systémy +style: md +attribution: Petr Viktorin, 2018-2019 +license: cc-by-sa-40 diff --git a/lessons/intro/pathlib/index.md b/lessons/intro/pathlib/index.md new file mode 100644 index 0000000000..78dfc03206 --- /dev/null +++ b/lessons/intro/pathlib/index.md @@ -0,0 +1,621 @@ + +# Cesty a soubory s Pathlib + +Základní práci se soubory – čtení z nich a psaní do nich – rozebírá +[lekce o souborech](naucse:page?lesson=beginners/files). Pro zopakování: + +``` python +# Otevření textového souboru "basnicka.txt" pro čtení +with open('basnicka.txt', encoding='utf-8') as soubor: + # Přečtení obsahu + contents = soubor.read() + +# Velikost souboru +print(len(soubor)) +``` + +Jméno souboru, případně cesta k němu, se tradičně zadává jako řetězec. +Jednotlivé adresáře jsou odděleny lomítkem (případně na Windows zpětným lomítkem); +fungují tu absolutní i relativní cesty. + +Pro prosté otvírání známých souborů to stačí. +Když ale potřebuješ s cestami k souborům pracovat víc, +řetězce jsou docela nepohodlné. +A navíc je problém pamatovat na všechny různé případy, které můžou nastat. + +Zkus pro příkad napsat funkce, které dostanou cestu k souboru a: + +* `vrat_casti` rozdělí cestu na jednotlivé adresáře (a vrátí je jako seznam), +* `vrat_priponu` vrátí příponu souboru. + +Na mém Linuxovém počítači cesty vypadají jako +`/home/janca/Documents/archiv.tar.gz`, takže bych mohl napsat něco jako: + +```python +def vrat_casti(path): + """Vrátí seznam komponentů cesty (jednotlivých adresářů/souborů)""" + return path.split('/') + +def vrat_priponu(path): + """Vrátí příponu souboru""" + parts = path.split('.') + return parts[-1] +``` + +Pro mou cestu to funguje: + +```pycon +>>> retezcova_cesta = '/home/janca/Documents/archiv.tar.gz' + +>>> vrat_casti(retezcova_cesta) +['', 'home', 'janca', 'Documents', 'archiv.tar.gz'] +>>> vrat_pripona(retezcova_cesta) +'gz' +``` + +Ale pro jinou cestu na jiném počítači už ne: + +```pycon +>>> retezcova_cesta = 'C:\\Users\\Jana\\Programy\\superprojekt\\README' + +>>> vrat_casti(retezcova_cesta) +['C:\\Users\\Jana\\Programy\\superprojekt\\README'] +>>> vrat_priponu(retezcova_cesta) +'C:\Users\Jana\Programy\superprojekt\README' +``` + +> [note] +> To, že programátoři používali na cesty řetězce a nepromýšleli všechny možné +> podivnosti souborových systémů, je hlavní důvod proč si ještě dnes spousta +> programů neporadí s diakritikou nebo mezerami v názvech souborů. + +Jde to líp? Samozřejmě! + + +## Knihovna pathlib + +Od verze 3.4 obsahuje Python knihovnu `pathlib`, jejíž třída `Path` reprezentuje +cestu k souboru a umožňuje s takovými cestami jednoduše a bezpečně manipulovat. + +```pycon +>>> from pathlib import Path + +>>> # Cesta, která na Windows i Unixu funguje podobně: +>>> cesta = Path('/home/janca/Documents/archiv.tar.gz') +>>> cesta.parts +('/', 'home', 'janca', 'Documents', 'archiv.tar.gz') +>>> cesta.suffix +'.gz' +``` + +Ukázka s cestou pro Windows (která by na Unixu nefungovala): + +> [note] +> Pouštíš-li ukázku na Windows, můžeš místo `PureWindowsPath` použít rovnou +> `Path`. + +```pycon +>>> from pathlib import PureWindowsPath + +>>> win_cesta = PureWindowsPath('C:\\Users\\Jana\\Programy\\superprojekt\\README') +>>> win_cesta.parts +('C:\\', 'Users', 'Jana', 'Programy', 'superprojekt', 'README') +>>> win_cesta.suffix +'' +``` + +Ukažme si teď něco z toho, co `pathlib` umožňuje. +Nebude to všechno – další možnosti najdeš [na taháku] nebo v angličtině +v [dokumentaci]. + +[dokumentaci]: https://docs.python.org/3/library/pathlib.html +[na taháku]: https://pyvec.github.io/cheatsheets/pathlib/pathlib-cs.pdf + + +## Tvoření cest + +Cesty v `pathlib` se tvoří zavoláním třídy `Path`. +Na Windows se tím vytvoří `WindowsPath`, na Unixu `PosixPath`. + +Obě považují dopředná lomítka za oddělovač adresářů, +takže následující bude fungovat na všech systémech: + +```pycon +>>> docs_cesta = Path('/home/janca/Documents') +>>> docs_cesta +PosixPath('/home/janca/Documents') +``` + +Už při vytvoření cesty se tato *normalizuje*, zjednoduší bez změny významu. +Víc lomítek za sebou se spojí do jednoho, zbytečné adresáře nebo lomítka na +konci se vynechají. + +```pycon +>>> Path('/tmp//foo/./bar/') +PosixPath('/tmp/foo/bar') +``` + +Když chci k takové cestě něco připojit, použiju operátor `/` (který by se měl +používat na dělení, ale psst!): + +```pycon +>>> docs_cesta / 'archiv.tar.gz' +PosixPath('/home/janca/Documents/archiv.tar.gz') +``` + +Přidávat se takhle dají řetězcové cesty, nebo i další `Path`: + +```pycon +>>> Path('/') / 'home/janca' / Path('archiv.tar.gz') +PosixPath('/home/janca/archiv.tar.gz') +``` + +Pozor ale na to, že absolutní cesta (s lomítkem nebo jménem disku na začátku) +znamená, že procházení začíná znovu od kořenového adresáře. +Když k něčemu připojím absolutní cestu, předchozí cesta se zahodí. + +```pycon +>>> Path('/home/janca') / '/tmp/foo' +PosixPath('/tmp/foo') +``` + +Občas lomítko není pohodlné. +V takových případech jde použít metoda `joinpath`, která má stejný efekt: + +```pycon +>>> Path('/').joinpath('home', 'janca/archiv.tar.gz') +PosixPath('/home/janca/archiv.tar.gz') +``` + + +## Atributy + +Cesty v pathlib mají spoustu užitečných atributů – vlastností, ke kterým se +dostaneš pomocí tečky: + +```pycon +>>> # Příklady ukážeme opět na téhle cestě: +>>> cesta = Path('/home/janca/Documents/archiv.tar.gz') +>>> cesta +PosixPath('/home/janca/Documents/archiv.tar.gz') + +>>> # jméno +>>> cesta.name +'archiv.tar.gz' + +>>> # Přípona (poslední) +>>> cesta.suffix +'.gz' + +>>> # Věchny přípony +>>> cesta.suffixes +['.tar', '.gz'] + +>>> # "kořen" jména (bez poslední přípony) +>>> cesta.stem +'archiv.tar' + +>>> # "rodič" – adresář, který tuto cestu obsahuje +>>> cesta.parent +PosixPath('/home/janca/Documents') + +>>> cesta.parent.parent +PosixPath('/home/janca') +>>> cesta.parent.parent.parent.parent +PosixPath('/') +``` + +Všechny "předky" -- rodiče, prarodiče, atd. -- nabízí atribut "parents". +Výsledek je ale *iterátor*; aby se ukázaly jednotlivé hodnoty, +je potřeba ho projít cyklem `for`, převést na seznam, atp. + +```pycon +>>> cesta.parents + + +>>> list(cesta.parents) +[PosixPath('/home/janca/Documents'), + PosixPath('/home/janca'), + PosixPath('/home'), + PosixPath('/')] + +>>> # Je cesta absolutní? +>>> cesta.is_absolute() +True +>>> Path('foo/archiv.zip').is_absolute() +False + +>>> # Jaká by byla relativní vzhledem k jiné, nadřazené cestě? +>>> relativni_cesta = cesta.relative_to('/home/janca') +>>> relativni_cesta +PosixPath('Documents/archiv.tar.gz') + +>>> # Spojením té nadřazené cesty a této relativní dostanu zpátky původní cestu +>>> Path('/home/janca') / relativni_cesta +PosixPath('/home/janca/Documents/archiv.tar.gz') + +>>> # Přepsání jména souboru (poslední části cesty) +>>> cesta.with_name('hrad.jpeg') +PosixPath('/home/janca/Documents/hrad.jpeg') + +>>> # Přepsání koncovky +>>> cesta.with_suffix('.bz2') +PosixPath('/home/janca/Documents/archiv.tar.bz2') + +>>> # Pokud existující koncovka není, `with_suffix` ji přidá +>>> Path('myproject/README').with_suffix('.xz') +PosixPath('myproject/README.xz') +``` + + +## Zkoumání disku + +Všechno uvedené výše jsou čistě „textové“ operace – pracují jen se jmény. +Soubor `archiv.zip` (ani jiné) počítači mít, aby ses dostal{{a}} k příponě +nebo ke jménům nadřazených adresářů. + +> [note] +> Dokonce si můžeš vyzkoušet, jak by to fungovalo na jiném systému – místo `Path` +> naimportuj a použij `PureWindowsPath` nebo `PurePosixPath`, které reprezentují +> Windowsové, resp. Unixové cesty. + +Zamysli se: k čemu se hodí umět pojmenovat soubor, který neexistuje? +{% filter solution %} +Jméno potřebuješ třeba když chceš soubor vytvořit. +{% endfilter %} + +Teď se dostaneme k operacím pro které je potřeba mít přístup k souborovému +systému. + +Nejdříve dvě funkce, které vrací cesty k užitečným adresářům: + +```pycon +>>> # Aktuální adresář +>>> Path.cwd() +PosixPath('/home/janca/pyladies/barvy') + +>>> # Můj domovský adresář +>>> Path.home() +PosixPath('/home/janca') +``` + +A základní otázky – existuje daný soubor? +Je to normální soubor nebo adresář? + +```pycon +>>> # Existuje na té ukázkové cestě nějaký soubor? +>>> cesta.exists() +False + +>>> # Existuje můj domovský adresář? +>>> Path.home().exists() +True + +>>> # A je to vůbec adresář? +>>> Path.home().is_dir() +True + +>>> # Je to normální datový soubor? +>>> Path.home().is_file() +False +``` + + +## Ukázka + +Abychom měli všichni stejné podmínky, stáhni si na další experimenty +[archiv s testovacími soubory](static/archiv.tar.gz). +Dej si ho do aktuálního adresáře (`Path.cwd()`), a pak ho rozbal pomocí +`tarfile`: + +```pycon +>>> import tarfile + +>>> cesta_k_archivu = Path("archiv.tar.gz") + +>>> # Co je v archivu? +>>> tarfile.open(cesta_k_archivu, 'r|gz').getnames() +['soubory', + 'soubory/hrad.jpeg', + 'soubory/hrad.attribution', + 'soubory/.gitignore', + 'soubory/kolecko.png', + 'soubory/texty', + 'soubory/texty/vodnik.txt', + 'soubory/texty/lidove', + 'soubory/texty/lidove/pes.txt', + 'soubory/texty/lidove/holka.txt', + 'soubory/texty/vladimir.txt', + 'soubory/texty/cizojazycne', + 'soubory/texty/cizojazycne/iroha.txt', + 'soubory/texty/cizojazycne/witch.txt', + 'soubory/hlad.txt', + 'soubory/hraz.attribution', + 'soubory/ententyky.txt', + 'soubory/hraz.jpeg', + 'soubory/README'] + +>>> # Extrakce archivu. (Kdybys to zkoušel/a pro jiné archivy, vždy před +>>> # rozbalením zkontroluj cesty všech souborů v archivu -- ať se rozbalením +>>> # nepřepíše nějaký důležitý soubor!) +>>> tarfile.open(cesta_k_archivu, 'r|gz').extractall() +``` + +Rozbalením archivu vznikl `./soubory/` (tedy: adresář `soubory` v aktuálním +adresáři). +Pojď se mu kouknout na zoubek: + +```pycon +>>> zaklad = Path('./soubory') +>>> zaklad +PosixPath('soubory') + +>>> print('Je to adresář?', zaklad.is_dir()) +Je to adresář? True +>>> print('Je to normální soubor?', zaklad.is_file()) +Je to normální soubor? False +``` + +Podle informací o archivu je v soubory nějaký `ententyky.txt` – podle přípony +soubor s textem. + +```pycon +>>> ententyky = zaklad / 'ententyky.txt' +>>> print('Je to adresář?', ententyky.is_dir()) +Je to adresář? False +>>> print('Je to normální soubor?', ententyky.is_file()) +Je to normální soubor? True +``` + +Objekty `Path` lze používat v naprosté většině situací, kdy jde použít cesta +jako řetězec. +Například pro funkci `open`: + +```python +with open(ententyky, encoding='utf-8') as file: + print(file.read()) +``` + +`Path` ale má `open` i jako metodu: + +```python +with ententyky.open(encoding='utf-8') as file: + print(file.read()) +``` + +A protože je čtení celého textového obsahu souboru docela užitečné, +existuje i zkratka která soubor otevře, přečte a zavře najednou: + +```python +print(ententyky.read_text()) +``` + +(Větší soubory je ale lepší otevřít ve `with` a zpracovávat třeba po řádcích, +aby se obsah nemusel do paměti počítače načíst celý najednou.) + +Existuje i `write_text`: + +```python +cesta = Path.cwd() / 'pisnicka.txt' +cesta.write_text('Holka modrooká\nNesedávej u potoka!') +``` + +{# +## Zpátky na stromy... tedy řetězce + +Ve většině případů jde Path použít tam, kde se cesta dá zadat jako řetězec. Na ale vždy – pathlib existuje teprve od roku 2014, a některé Pythonní knihovny stále ještě vyžadují řetězce. + +Jedna z výjimek je IPython.display.Image, která umí v Notebooku vykreslit obrázek. + +```pycon +>>> from IPython.display import Image +``` + +Image potřebuje (aspoň začátkem roku 2018) řetězcovou cestu. +Příkaz `Image(base / 'hrad.jpeg')` mi skončil chybou typu – +`TypeError: a bytes-like object is required, not 'PosixPath'`. + +V takových případech ale stačí Path převést na řetězec. + +```pycon +>>> str(base / 'hrad.jpeg') +'soubory/hrad.jpeg' + +>>> Image(str(base / 'hrad.jpeg')) + +>>> # Informace o autorství obrázku (díky, Millenium187!) +>>> print(base.joinpath('hrad.attribution').read_text()) + +"hrad.jpg" is (c) 2011, Wikipedia user Millenium187 + https://commons.wikimedia.org/wiki/User:Millenium187 +Here used under the Creative Commons Attribution-Share Alike 3.0 Unported license. + +See: https://commons.wikimedia.org/wiki/File:Hrad_%C5%A0pilberk_II.jpg +``` +#} + +## A co adresáře? + +I s adresáři umí `pathlib` pracovat. +Nejzákladnější operace je získání cest k obsaženým souborům: + +```pycon +>>> zaklad.iterdir() + +``` + +Metoda iterdir opět vrací *iterátor* – objekt, přes který musíš „projít“ +(cyklem for, převedením na seznam ap.), abys z něj dostal{{a}} obsah. + +```pycon +>>> list(zaklad.iterdir()) +[PosixPath('soubory/hrad.jpeg'), + PosixPath('soubory/hrad.attribution'), + PosixPath('soubory/.gitignore'), + PosixPath('soubory/kolecko.png'), + PosixPath('soubory/texty'), + PosixPath('soubory/hlad.txt'), + PosixPath('soubory/hraz.attribution'), + PosixPath('soubory/ententyky.txt'), + PosixPath('soubory/hraz.jpeg'), + PosixPath('soubory/README')] + +>>> for cesta in zaklad.iterdir(): +>>> print(cesta) +soubory/hrad.jpeg +soubory/hrad.attribution +soubory/.gitignore +soubory/kolecko.png +soubory/texty +soubory/hlad.txt +soubory/hraz.attribution +soubory/ententyky.txt +soubory/hraz.jpeg +soubory/README +``` + +{# + +## Glob Glob + +Zajímavější operace je ale `glob`, která vyfiltruje soubory, které odpovídají +určité šabloně. + +V šabloně můžeš použít `*`, které odpovídá 0 a více písmenům +(v rámci jména jednoho souboru): + +```pycon +>>> # Soubory končící na ".txt" +>>> list(base.glob('*.txt')) +[PosixPath('soubory/hlad.txt'), PosixPath('soubory/ententyky.txt')] + +>>> # Soubory, které mají ve jméně tečku +>>> list(base.glob('*.*')) +[PosixPath('soubory/hrad.jpeg'), + PosixPath('soubory/hrad.attribution'), + PosixPath('soubory/.gitignore'), + PosixPath('soubory/kolecko.png'), + PosixPath('soubory/hlad.txt'), + PosixPath('soubory/hraz.attribution'), + PosixPath('soubory/ententyky.txt'), + PosixPath('soubory/hraz.jpeg')] +``` + +… nebo ?, což odpovídá jednomu písmenu: + +```pycon +>>> # Slovo na čtyři, první je `h` a třetí `a` +>>> list(base.glob('h?a?.*')) +[PosixPath('soubory/hrad.jpeg'), + PosixPath('soubory/hrad.attribution'), + PosixPath('soubory/hlad.txt'), + PosixPath('soubory/hraz.attribution'), + PosixPath('soubory/hraz.jpeg')] +``` + +Případně jde použít výčet písmen v hranatých závorkách, viz modul fnmatch. + +```pycon +>>> list(base.glob('h?a[zd].????')) +[PosixPath('soubory/hrad.jpeg'), PosixPath('soubory/hraz.jpeg')] +>>> list(base.glob('[!hv]*')) +[PosixPath('soubory/.gitignore'), + PosixPath('soubory/kolecko.png'), + PosixPath('soubory/texty'), + PosixPath('soubory/ententyky.txt'), + PosixPath('soubory/README')] +``` + +Poslední speciální kombinace je `**`. +Dvě hvězdičky odpovídají základnímu adresáři a všem jeho podadresářům, +pod-podadresářům, pod-pod-podadresářům atd. + +```pycon +>>> list(base.glob('**')) +[PosixPath('soubory'), + PosixPath('soubory/texty'), + PosixPath('soubory/texty/lidove'), + PosixPath('soubory/texty/cizojazycne')] +``` + +S pomocí ** se často hledají soubory s danou příponou: + +```pycon +>>> list(base.glob('**/*.txt')) +[PosixPath('soubory/hlad.txt'), + PosixPath('soubory/ententyky.txt'), + PosixPath('soubory/texty/vodnik.txt'), + PosixPath('soubory/texty/vladimir.txt'), + PosixPath('soubory/texty/lidove/pes.txt'), + PosixPath('soubory/texty/lidove/holka.txt'), + PosixPath('soubory/texty/cizojazycne/iroha.txt'), + PosixPath('soubory/texty/cizojazycne/witch.txt')] +``` + +#} + + +## Strom adresářů – rekurze + +Adresáře, podadresáře a soubory v nich tvoří strukturu, na kterou se často +používají rekurzivní funkce. + +Tady je funkce `vypis_soubory`, která ypíše všechny soubory v daném adresáři. +Před každé jméno dá odrážku `-`, aby to líp vypadalo: + +```python +from pathlib import Path + +def vypis_soubory(odrazka, adresar): + """Vypíše odrážkový seznam jmen souborů v daném adresáři""" + for soubor in adresar.iterdir(): + print(odrazka, soubor.name) + +vypis_soubory('-', Path.cwd()) +``` + +Odrážka se dá zadat: + +```python +vypis_soubory('*', Path.cwd()) +vypis_soubory(' *', Path.cwd()) +``` + +Tahle funkce se dá změnit, aby vypsala i obsahy *podadresářů*. +Jak? +Poté, co vypíše jméno nějakého podadresáře, zavolá funkci která vypíše +obsah toho podadresáře. +Takovou funkci ale už máš napsanou – stačí trochu změnit odrážku, aby bylo +poznat co je podadresář. + +```python +from pathlib import Path + +def vypis_soubory(odrazka, adresar): + """Vypíše odrážkový seznam jmen souborů v daném adresáři i podadresářích""" + for soubor in adresar.iterdir(): + print(odrazka, soubor.name) + if soubor.is_dir(): + vypis_soubory(' ' + odrazka, soubor) + +vypis_soubory('-', Path.cwd()) +``` + +Podobně lze například spočítat soubory v nějakém adresáři (i všech +podadresářích). + +```python +from pathlib import Path + +def spocitej_normalni_soubory(adresar): + """Vrátí počet normálních souborů v daném adresáři i všech podadresářích""" + pocet = 0 + for soubor in adresar.iterdir(): + if soubor.is_dir(): + pocet = pocet + spocitej_normalni_soubory(soubor) + elif soubor.is_file(): + pocet = pocet + 1 + return pocet + +print(spocitej_normalni_soubory(Path.cwd())) +``` diff --git a/lessons/intro/pathlib/info.yml b/lessons/intro/pathlib/info.yml new file mode 100644 index 0000000000..c47a93508f --- /dev/null +++ b/lessons/intro/pathlib/info.yml @@ -0,0 +1,5 @@ +title: Adresáře, soubory a cesty +style: md +attribution: +- Pro PyLadies CZ napsal Petr Viktorin, 2018-2019. +license: cc-by-sa-40 diff --git a/lessons/intro/pathlib/static/archiv.tar.gz b/lessons/intro/pathlib/static/archiv.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..7df609543ebe07a61ae7948a5e287df6b7ec42f0 GIT binary patch literal 161139 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 z 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

RC20rrP8!r@x1y2v zGE&C?Ec}2L;cAdiTxdSN=uNGfDlA61=`|ElDwJ5`-#1^-yd;-k}k&~jQv&_+eNL1JT5iH5SW91_De*sk|>dwNbWPuA^y)B1te>!wIc3juve&E#;^ z4@H2#$@ZkTCF~D0J+0LX^?Gs&pqlSB*?=1JNctGDJKS?Z^k4t>*8;|Iu@LI->cB!J zsP>#_NuV^z{^vzBug?ef`UZY?*fkpaH~c(nZxifJe78~>;y+t{Dt~Kk$RVDFNlhFZ zn^5!wr5bJvdL8#ftdyZ`ujjd(vd9ZdVmmF8{yWB5J@U&9+&_LVv8O}}ky!dV+Ug=E zi%yvQO(8)Tf!Ks}j9_D9TZ$!tchgPe7Rl|!B9>;tLZ!E#B1YHM1q3rGzRjDeerhr` zL|xx@pTWi^7^f4pGCug^oT<1@@@_EGI$U=HHO)Zq(Y(@y3`Z7WW^r@->*!y&<=$bP za17V$R6=ORg35oEMWDLz1S2a`UnPmfe6-1fm)Am7VlveEMXiu)K@Ef0zdN+IM*igy z$aqUE<9a}4xx7k{Hq(>1@4Gir22z%QpPH;R<#8~IFvi+%f{1v1J$>XIRN9YLR$u<5 zG4_KNLgCaP62}~3BpOeb#nSq!U*2AU-RPzn3)sU4}$ z2fUxsc6B+4H;%8UzWZ#NnQflCxHUJorIP4Q(IsV?u+^w=I0t+sHds^`P($RjrGUxE z;X9CiZqB-v&ZKe`cE=BuM<1D`qN^IMQz2;+K9Gd<32ba4m8ti0pOjQ_e69}Q3JN8L z3liCU2C@cc4FI4Ul8y}FS;)%aeeESFovH4JL&{Wi*|kswk~HX&_#Ja$+152$Eg(@Z zFqspXG&MUy*vLpI{ANmLSn*M@ewsOG4~By^r(2%s$vf(|W^H{JWW=OHJ^$diz*;(bEGw{G42T+`XLspPu_aes}v{F{%G` zWaw?&U0v;Le4O0f=-ut Date: Mon, 17 Aug 2020 14:21:13 +0200 Subject: [PATCH 2/3] Apply fixes from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: adelpopelkova <59389471+adelpopelkova@users.noreply.github.com> Co-authored-by: Lumír 'Frenzy' Balhar --- lessons/fast-track/filesystem/index.md | 4 ++-- lessons/intro/pathlib/index.md | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lessons/fast-track/filesystem/index.md b/lessons/fast-track/filesystem/index.md index 9fb64d6d1d..b582130798 100644 --- a/lessons/fast-track/filesystem/index.md +++ b/lessons/fast-track/filesystem/index.md @@ -38,7 +38,7 @@ Unix je operační systém, vytvořený v sedmdesátých letech, ze kterého vyc dnešní systémy Linux, macOS a další. Základní principy, o kterých bude řeč tady, se od dob Unixu většinou příliš nezměnily. -A tak když v těchto materiákech uvidíš jméno „Unix“, jde o něco společné pro +A tak když v těchto materiálech uvidíš jméno „Unix“, jde o něco společné pro Linux i macOS. Hlavní rozdíly mezi Linuxem a macOS jsou v konvencích – např. na Linuxu se místo pro domovské adresáře jmenuje většinou `/home`, kdežto na macOS `/Users`. @@ -65,7 +65,7 @@ představí běžný uživatel) a adresáře. ## Cesty -Abys mohl/a najít nějaký soubor, potřebuješ znát jeho jméno a adresář, +Abys mohl{{a}} najít nějaký soubor, potřebuješ znát jeho jméno a adresář, který ten soubor obsahuje. Abys pak mohl/a najít ten adresář, musíš opět znát jméno adresáře a adresář, který ho obsahuje. diff --git a/lessons/intro/pathlib/index.md b/lessons/intro/pathlib/index.md index 78dfc03206..7d88fb2a34 100644 --- a/lessons/intro/pathlib/index.md +++ b/lessons/intro/pathlib/index.md @@ -23,7 +23,7 @@ Když ale potřebuješ s cestami k souborům pracovat víc, řetězce jsou docela nepohodlné. A navíc je problém pamatovat na všechny různé případy, které můžou nastat. -Zkus pro příkad napsat funkce, které dostanou cestu k souboru a: +Zkus pro příklad napsat funkce, které dostanou cestu k souboru a: * `vrat_casti` rozdělí cestu na jednotlivé adresáře (a vrátí je jako seznam), * `vrat_priponu` vrátí příponu souboru. @@ -126,7 +126,7 @@ takže následující bude fungovat na všech systémech: PosixPath('/home/janca/Documents') ``` -Už při vytvoření cesty se tato *normalizuje*, zjednoduší bez změny významu. +Už při vytvoření cesty se takto *normalizuje*, zjednoduší bez změny významu. Víc lomítek za sebou se spojí do jednoho, zbytečné adresáře nebo lomítka na konci se vynechají. @@ -403,7 +403,7 @@ cesta.write_text('Holka modrooká\nNesedávej u potoka!') {# ## Zpátky na stromy... tedy řetězce -Ve většině případů jde Path použít tam, kde se cesta dá zadat jako řetězec. Na ale vždy – pathlib existuje teprve od roku 2014, a některé Pythonní knihovny stále ještě vyžadují řetězce. +Ve většině případů jde Path použít tam, kde se cesta dá zadat jako řetězec. Ne ale vždy – pathlib existuje teprve od roku 2014, a některé Pythonní knihovny stále ještě vyžadují řetězce. Jedna z výjimek je IPython.display.Image, která umí v Notebooku vykreslit obrázek. @@ -501,7 +501,7 @@ V šabloně můžeš použít `*`, které odpovídá 0 a více písmenům PosixPath('soubory/hraz.jpeg')] ``` -… nebo ?, což odpovídá jednomu písmenu: +… nebo `?`, což odpovídá jednomu písmenu: ```pycon >>> # Slovo na čtyři, první je `h` a třetí `a` @@ -560,7 +560,7 @@ S pomocí ** se často hledají soubory s danou příponou: Adresáře, podadresáře a soubory v nich tvoří strukturu, na kterou se často používají rekurzivní funkce. -Tady je funkce `vypis_soubory`, která ypíše všechny soubory v daném adresáři. +Tady je funkce `vypis_soubory`, která vypíše všechny soubory v daném adresáři. Před každé jméno dá odrážku `-`, aby to líp vypadalo: ```python From 5e48299a427e4488135e4a8b0476318349fd10f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lum=C3=ADr=20=27Frenzy=27=20Balhar?= Date: Sat, 26 Sep 2020 20:19:49 +0200 Subject: [PATCH 3/3] Update lessons/fast-track/filesystem/index.md Co-authored-by: adelpopelkova <59389471+adelpopelkova@users.noreply.github.com> --- lessons/fast-track/filesystem/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lessons/fast-track/filesystem/index.md b/lessons/fast-track/filesystem/index.md index b582130798..08269c3fa5 100644 --- a/lessons/fast-track/filesystem/index.md +++ b/lessons/fast-track/filesystem/index.md @@ -154,7 +154,7 @@ většinou nenarazíš). A navíc je omezen i obsah – jméno souboru nesmí obsahovat: * na Unixu oddělovač adresářů `/` ani speciální nulový znak, -* na windows oddělovač `\`, znaky `<>:"/|?*` ani speciální znaky (např. +* na Windows oddělovač `\`, znaky `<>:"/|?*` ani speciální znaky (např. tabulátor, znak nového řádku). Nedoporučuji s názvy příliš experimentovat, protože některé validní znaky