Programování

Jak pracovat se soubory v Pythonu

Jak pracovat se soubory v Pythonu

Python je úžasný programovací jazyk pro většinu úkolů, jako je vývoj webových aplikací, AI, automatizace nebo obecné programování. Práce se soubory a složkami je důležitá, protože je musíme používat k automatizaci úkolů nebo ukládání dat a různých dalších podobných úkolů.

Abychom mohli pracovat se soubory ve speciálním formátu, jako jsou obrazové soubory, soubory JSON, PDF, soubory CSV nebo databázové soubory, python má úžasné moduly napsané skvělými programátory, které nám usnadní práci. Můžete si prohlédnout náš podrobný návod na práci se soubory databáze SQL pomocí pythonu, pomocí kterého se můžete naučit SQLite, což je skvělý způsob, jak ukládat a načítat data pythonových programů.

Než začneme, musíme nejprve nainstalovat python do systému. Pokud jej nemáte nainstalovaný, můžete si prohlédnout náš průvodce instalací pythonu.

Práce se soubory v Pythonu

Soubory jsou důležitou součástí naší každodenní práce. Pro mnoho úkolů používáme soubory PDF, soubory Excel nebo normální textové soubory. Výukové programy, které čtete na tomto webu, jsou v souboru HTML, který váš prohlížeč zpracovává. Stejně jako mnoho jiných programovacích jazyků podporuje Python také zpracování souborů.

Otevírání a zavírání souborů

Můžeme snadno otevřít soubor v pythonu pomocí vestavěné funkce open (). Funkce open přijímá mnoho argumentů, ale hlavním požadovaným argumentem je cesta k souboru, který chceme otevřít. Funkce open () má jediný návrat, kterým je fileobject.

file_obj = open ("název souboru.txt ")

Kód otevře soubor s názvem „název souboru.txt, ”textový soubor ve stejné složce. Poté uloží návratový souborobjekt do proměnné file_obj.

Když máme vše zpracované se souborem, musíme si pamatovat uzavření souboru. Soubor je po ukončení programu v mnoha případech uzavřen, ale je dobré ho kdykoli nepotřebujeme zavřít pomocí funkce close (). Pokud zapomeneme zavřít soubor, jednoduše spotřebuje paměť, což zpomalí program. Pro větší projekty je to považováno za špatný postup.

Chcete-li zavřít otevřený soubor, musíme použít funkci close () objektu souboru.

# zde otevřeme název souboru.txt file_obj = open ("název souboru.txt ") print (" Soubor byl úspěšně otevřen ... ") # Nyní můžeme provést zpracování pomocí souboru # Po zpracování musíme soubor zavřít file_obj.close () print ("Soubor byl uzavřen ...")

Otevřeli jsme soubor s názvem název souboru.txt ve stejné složce pomocí funkce open () a poté ji zavřít pomocí funkce close ().

Výstup:

otevírání a zavírání souboru

Ačkoli je funkce close () užitečná při zavírání souboru, existuje ještě jeden způsob, jak zavřít soubor, tj.E., otevřením souboru pomocí s prohlášení.

Příklad:

s otevřeným ("název souboru.txt ") as file_obj: # Tady jsou operace se soubory

Jakmile soubor opustíme, kód jej automaticky uzavře s blok. Příkaz with také zavře soubor, pokud dojde k nějaké chybě, takže je lepší použít příkaz with s, protože můžeme soubor zavřít a snadno s ním zacházet s chybami souboru.

Režimy otevírání souborů

Funkci open () lze použít pouze s jedním argumentem, tj.E., cestu k souboru, můžeme také použít jiný pojmenovaný argument režimu. Označuje režim, který se používá k otevření souboru.

Například pokud chceme soubor otevřít pouze pro čtení a nechceme jej upravovat, můžeme použít režim 'r' jako argument funkce open (), což znamená režim jen pro čtení. Toto je také výchozí režim pro funkci open (). Pro zápis nebo úpravu souboru musíme soubor otevřít v režimu zápisu pomocí argumentu „w“.

Příklad:

s otevřeným ("název souboru.txt ", w"): # Zde jsou příkazy #, které se mají v souboru provést

Tento kód otevře soubor v režimu zápisu, takže v něm můžete provádět operace zápisu.

Mohou také nastat situace, kdy chceme soubor otevřít v binárním režimu, abychom s ním mohli provést nějakou operaci. K tomu musíme nastavit režim 'rb' pro čtení v binárním režimu a 'wb' pro zápis v binárním režimu.

Příklad:

s otevřeným ("název souboru.dat "," rb "): # Zde jsou příkazy #, které mají být provedeny v binárním souboru

Otevře se datový soubor s názvem souboru.data v binárním režimu pouze pro čtení.

Až dosud jsme se naučili, jak otevřít soubor a zavřít soubor. Nyní se podívejme, jak můžeme číst data ze souboru pomocí Pythonu.

Čtení souborů pomocí Pythonu

Existuje mnoho způsobů, jak můžeme číst data z otevřeného souboru v pythonu, ale nejběžnějším způsobem je použití funkcí read (), readline () a readlines ().

Funkce read ()

Přijímá počet bajtů, které mají být načteny ze souboru, jako argument a načte toto množství bajtů ze souboru.

Pokud neposkytneme žádný argument nebo nepoužijeme None nebo -1 jako argument funkce read (), pak se celý soubor přečte v režimu jen pro čtení.

Příklad:

s otevřeným ("název souboru.txt ") jako file_obj: # pomocí funkce read () ke čtení bajtů # ze souboru objektu words = file_obj.read () print (words)

Výstup:

čtení dat ze souboru pomocí funkce read ()

Možná budete muset vytvořit ukázkový název souboru.txt s ukázkovým obsahem nebo před spuštěním programu specifikujte jiné soubory v argumentu funkce open (); jinak python hodí FileNotFoundError, jak je uvedeno níže.

Traceback (poslední hovor poslední): Soubor "soubor.py ", řádek 1, s otevřeným (" název souboru.txt ") as file_obj: FileNotFoundError: [Errno 2] Žádný takový soubor nebo adresář: 'název souboru.txt '

Funkce read () je úžasný způsob, jak číst bajty ze souboru, ale existuje více způsobů, jak číst data ze souboru. Hlavně existují dvě další metody pro čtení dat ze souboru. Jsou to metody readline () a readlines ().

Funkce readline ()

Funkce readline () se používá ke čtení řádku najednou. Pokaždé, když jej spustíme, dostaneme další řádek souboru.

Příklad:

s otevřeným ("název souboru.txt "," r ") jako fileobj: print (fileobj.readline ()) # tisk prvního řádku print (fileobj.readline ()) # vytiskne druhý řádek

Výstup: Vytiskneme první a druhý řádek souboru.

čtení dat pomocí funkce readline ()

Můžeme také předat počet znaků ke čtení z řádku jako argument do funkce readline ().

Příklad:

s otevřeným ("název souboru.txt "," r ") jako fileobj: print (fileobj.readline (15)) # vytiskne prvních 15 bajtů

Výstup:

určení počtu znaků ve funkci readine ()

Funkce readlines ()

Funkce readlines () se používá ke čtení všech řádků souboru. Tato funkce vrátí seznam všech řádků přítomných v souboru. Pokud nepotřebujeme spustit všechny řádky, můžeme jako argument zadat také počet řádků, které potřebujeme.

Příklad:

s otevřeným ("název souboru.txt "," r ") jako fileobj: print (fileobj.readlines ()) # vrátí seznam všech řádků

Výstup:

funkce readlines ()

Zápis souborů pomocí Pythonu

K zápisu dat do souboru pomocí pythonu musíme použít metodu write () objektu souboru. Funkce write přijímá data jako argument, který chceme zapsat do souboru.

Příklad:

line = "Toto je nový řádek \ n" s otevřeným ("název souboru.txt "," w ") jako fileobj: print (fileobj.napsat (řádek))

Při spuštění kódu všechny název souboru.txt data budou nahrazena řetězcem „Toto je nový řádek“. Pokud nemáte název souboru.txt dříve existující soubor, pak jej vytvoří.

Připojování souborů

Při psaní souboru, jako jsme to dělali v předchozím kódu, si můžete všimnout, že nová data nahradí všechna předchozí data v souboru. Někdy se od nás vyžaduje, abychom místo přepsání dat přidali pouze nová data. Musíme otevřít soubor pomocí režimu „a“ a poté použít funkci write () k zápisu dat.

Příklad:

line = "\ nToto je nový řádek" s otevřeným ("název souboru.txt "," a ") jako fileobj: print (fileobj.napsat (řádek))

V souboru s názvem souboru budeme mít nový řádek.txt bez nahrazení předchozích řádků při spuštění kódu.

Přejmenování a mazání souborů

Chcete-li přejmenovat soubor, musíme použít funkci rename () modulu os. Funkce přejmenování přijímá dva důležité argumenty, první argument je cesta k souboru, který chceme přejmenovat, a druhý argument je nový název původního souboru.

Příklad:

import os os.přejmenovat ("file1.txt, file2.txt ")

Kód soubor přejmenuje soubor1.txt se jménem file2.txt.

Chcete-li odstranit soubor pomocí pythonu, musíme použít odstranit() funkce os modul.

Příklad:

import os os.odebrat ("vzorek.txt ")

Tím soubor smažete vzorek.txt v aktuálním adresáři. Můžete také zadat cestu k souboru, pokud je přítomen v jiných adresářích. Pokud soubor v dané cestě neexistuje, dostaneme FileNotFoundError. K řešení chyb použijte metodu zpracování výjimek popsanou v předchozím dílčím tématu.

Závěr

V tomto tutoriálu jsme se naučili vše potřebné pro práci se soubory v pythonu, jako je vytváření souborů, čtení dat ze souborů, zápis dat do souborů, odebírání a přejmenování souborů atd.

Můžete si také přečíst našeho podrobného průvodce prací s databází SQLite v pythonu, kde se můžete dozvědět vše, co potřebujete vědět při práci s databázemi SQLite v pythonu.

Hry Jak vyvíjet hru na Linuxu
Jak vyvíjet hru na Linuxu
Před deseti lety by jen málo uživatelů Linuxu předpovídalo, že jejich oblíbený operační systém bude jednoho dne populární herní platformou pro komerčn...
Hry Porty komerčních her s otevřeným zdrojovým kódem
Porty komerčních her s otevřeným zdrojovým kódem
Zdarma, s otevřeným zdrojovým kódem a multiplatformní herní enginy lze hrát staré i některé z poměrně nedávných herních titulů. Tento článek uvede sez...
Hry Nejlepší hry z příkazového řádku pro Linux
Nejlepší hry z příkazového řádku pro Linux
Příkazový řádek není při používání Linuxu jen vaším největším spojencem - může být také zdrojem zábavy, protože jej můžete použít k hraní mnoha zábavn...