Algoritmizace a programování Soubory
Oč jde? Vytvoření externího souboru Vytvoření externího souboru Tento soubor může být: Tento soubor může být: Textový Textový Binární Binární Případně jiného typu Případně jiného typu Význam spočívá v ukládání informací získaných v běhu programu Význam spočívá v ukládání informací získaných v běhu programu Databáze Databáze Uživatelská nastavení apod. Uživatelská nastavení apod.
Pravidla pro práci se soubory 1) soubor programově otevřít, případně vytvořit 1) soubor programově otevřít, případně vytvořit 2) určit co se má se souborem stát 2) určit co se má se souborem stát pouze pro čtení pouze pro čtení povolen zápis povolen zápis připojovat další text připojovat další text přepsat aktuální text přepsat aktuální text 3) zapsat požadované údaje do souboru 3) zapsat požadované údaje do souboru 4) soubor programově zavřít 4) soubor programově zavřít
Vytvoření textového souboru Syntaxe: Syntaxe: open(název_souboru,mód přístupu,kódování-nepovinné) open(název_souboru,mód přístupu,kódování-nepovinné) Příklad: Příklad: soubor=open(“pokus.txt”,“w”) soubor=open(“pokus.txt”,“w”) parametry souboru můžeme uložit do proměnné na základě které budeme k souboru přistupovat parametry souboru můžeme uložit do proměnné na základě které budeme k souboru přistupovat Módy přístupu Módy přístupu r (read) – pouze čtení, nelze zapisovat r (read) – pouze čtení, nelze zapisovat w (write) – lze zapisovat; existuje-li soubor, přepíše jej; neexistuje-li vytvoří jej w (write) – lze zapisovat; existuje-li soubor, přepíše jej; neexistuje-li vytvoří jej a (append) – lze zapisovat; existuje-li soubor; připojí text za poslední obsah souboru; neexistuje-li vytvoří jej a (append) – lze zapisovat; existuje-li soubor; připojí text za poslední obsah souboru; neexistuje-li vytvoří jej
Práce se souborem Zápis dat do souboru Zápis dat do souboru text=input(„Zadejte text: “) text=input(„Zadejte text: “) soubor.write(text) soubor.write(text) pomocí proměnné soubor otevřeme textový soubor pokus.txt s vlastností zápisu (w), použijeme metodu write (zapsat do souboru) a zapíšeme hodnotu proměnné text, kterou zadá uživatel na vstupu z klávesnice pomocí proměnné soubor otevřeme textový soubor pokus.txt s vlastností zápisu (w), použijeme metodu write (zapsat do souboru) a zapíšeme hodnotu proměnné text, kterou zadá uživatel na vstupu z klávesnice Uzavření souboru Uzavření souboru soubor.close() soubor.close() fyzický zápis dat do souboru se provedou až s voláním metody close, jinak jsou data udržována v paměti kvůli vyšší rychlosti fyzický zápis dat do souboru se provedou až s voláním metody close, jinak jsou data udržována v paměti kvůli vyšší rychlosti
Kompletní kód zápisu do soub. soubor=open(“pokus.txt”,“w”) text=input(“Zadejte text: ”) soubor.write(text)soubor.close() Do textového souboru lze zapisovat pouze text, tedy číselné datové typy je potřeba před jejich uložením přetypovat – str(proměnná) Do textového souboru lze zapisovat pouze text, tedy číselné datové typy je potřeba před jejich uložením přetypovat – str(proměnná)
Načtení ze souboru K načtení dat ze souboru je vhodné použít cyklus, tedy načítat řádek po řádku až do konce souboru K načtení dat ze souboru je vhodné použít cyklus, tedy načítat řádek po řádku až do konce souboru soubor=open("pokus.txt","r") soubor=open("pokus.txt","r") Nejprve soubor otevřeme a určíme režim pro čtení Nejprve soubor otevřeme a určíme režim pro čtení for radek in soubor: for radek in soubor:print(radek) Procházíme proměnnou soubor, tedy textový soubor a do proměnné radek uložíme jednotlivé řádky souboru Procházíme proměnnou soubor, tedy textový soubor a do proměnné radek uložíme jednotlivé řádky souboru
Kompletní kód čtení ze souboru soubor=open(“pokus.txt”,“r”) for radek in soubor: print (radek) soubor.close()
Pěkný zbytek dne Pěkný zbytek dne