Čtení a zápis souborů v Pythonu

Reading Writing Files With Python



Soubory slouží k ukládání a organizaci dat na disku. Soubory často používáme, když potřebujeme data trvale uložit na pevný disk. Řekněme například, že budujeme softwarový systém, který uchovává záznamy studentů. Nyní musíme data studentů trvale uložit pro budoucí použití. Za tímto účelem můžeme soubory používat k ukládání dat a později je můžeme kdykoli otevřít a přistupovat k uloženým datům.

Čtení a zápis souborů jsou v Pythonu velmi běžné funkce. V Pythonu je snadné vytvářet, číst a upravovat soubory. Python je dodáván s integrovanými funkcemi pro čtení a zápis souborů. Soubory můžete otevírat, zapisovat a číst pomocí vestavěných funkcí Pythonu. Operace se souborem se provádějí v následujícím pořadí:







  • Otevřít soubor
  • Soubor pro čtení/zápis
  • Zavřít soubor

Pomocí Pythonu můžete vytvářet textové soubory a binární soubory. Textové soubory ukládají data ve formě znaků a každý řádek končí znakem nového řádku („ n“). V binárních souborech jsou data ukládána ve formě bajtů (1 a 0).



V tomto článku se dozvíte:



  • Některé z různých režimů souborů v Pythonu
  • Jak otevřít soubor
  • Jak vytvořit soubor
  • Jak zapsat data do souboru
  • Jak číst soubor

Různé režimy souborů v Pythonu

Režimy v Pythonu popisují typ operace, která má být provedena se souborem. Při otevírání souboru musíte určit režim. Každý soubor má popisovač souboru. Popisovač souboru funguje jako kurzor, který určuje, kam se mají zapisovat a číst data. Je to typ ukazatele polohy. Následující text obsahuje některé z různých režimů přístupových souborů v Pythonu:





Režim Popis
r Otevře soubor v režimu čtení. Tento režim je ve výchozím nastavení vybrán, pokud při otevírání souboru v Pythonu nedefinujete žádný režim.
v Zapíše soubor. Tento režim vytvoří soubor, pokud soubor již neexistuje, a přepíše data v souboru.
r+ Slouží ke čtení a zápisu souboru. Pokud soubor neexistuje, zobrazí se chyba.
na Otevře soubor v režimu připojení. Popisovač souboru je umístěn na konci souboru. Tento režim nepřepíše existující data, ale začne zapisovat data na konec souboru. Pokud soubor neexistuje, vytvoří se nový soubor.
a + Otevře soubor pro čtení a zápis. Tím se soubor otevře v režimu připojení pro zápis. Data jsou vložena na konec souboru. Pokud soubor neexistuje, vytvoří se nový soubor.
t Otevře soubor v textovém režimu.

Jak otevřít soubor

Chcete-li otevřít soubor v Pythonu, použijte vestavěný otevřeno() funkce. Funkce open () bere jako vstup dva argumenty, tj. Název souboru a provozní režim. Tato funkce vrací objekt souboru jako výstup. Pro použití funkce open () není třeba importovat žádný modul. Následuje syntaxe funkce open ():

file_object= otevřeno(název souboru,režimu)

Zde „název_souboru“ představuje název skutečného textového souboru, zatímco „režim“ představuje režim přístupu k souboru nebo režim operace se souborem. Pokud název souboru obsahuje speciální znaky, můžete také umístit r před „název_souboru“. Hodnota r je umístěna následovně:



=file_object= otevřeno(rfile_name,režimu)

Název souboru může být například: F: newfolder myfile.txt

Jak vytvořit soubor

Funkci open () lze použít k vytváření souborů v Pythonu. K vytvoření souboru použijte režim připojení (a) uvnitř funkce open (). Vytvořte soubor pomocí níže uvedeného kódu:

soubor = otevřeno('sample.txt','na')

Zde se vytvoří nový souborový objekt. Objekt souboru má název soubor. Název nově vytvořeného textového souboru je sample.txt. Textový soubor se otevře v režimu připojení. Pokud soubor již neexistuje, vytvoří nový soubor. Po vytvoření souboru musíte soubor zavřít následujícím způsobem:

soubor.zavřít()

K zavření souboru slouží vestavěná funkce close ().

Jak zapsat data do souboru

Pro zápis dat do souboru slouží v Pythonu dvě funkce:

  1. napsat()
  2. writeelines ()

Funkce write () se používá k zápisu dat jednoho řádku nebo jednoho řetězce do souboru, zatímco funkce writeelines () se používá k zápisu více řádků dat do textového souboru. Podívejme se na několik příkladů zápisu dat do souboru.

Pomocí funkce write ()

V tomto příkladu používáme funkci write () k zápisu dat do souboru. Soubor se otevře v režimu psaní. n je určen k určení konce řádku.

# vytvoření nového objektu souboru a otevření souboru v režimu psaní
soubor=otevřeno('sample.txt','v')
# zápis jednoho řádku do souboru

soubor.napsat('Vítejte v linuxhintu.' n')
# zápis dalšího jediného řádku do souboru
soubor.napsat('Vítej zpět')

#zavření souboru
soubor.zavřít()

Výstup

Řádky byly zapsány do textových souborů.

Pokud soubor otevřeme v režimu psaní a požádáme funkci write (), aby do souboru zapsala více řádků, přepíše předchozí data a do textového souboru budou přidána nová data.

# vytvoření nového objektu souboru a otevření souboru v režimu psaní
soubor=otevřeno('sample.txt','v')
# zápis jednoho řádku do souboru

soubor.napsat('Ahoj všichni n')
# zápis dalšího jediného řádku do souboru
soubor.napsat(„Toto je nahrazený řetězec“)

#zavření souboru
soubor.zavřít()

Výstup

Na výstupu je vidět, že předchozí data jsou nahrazena a na jejich místo v textovém souboru jsou přidána nová data.

Pokud chceme v souboru zachovat předchozí i nová data, můžeme soubor otevřít v režimu připojení, jako je tento:

# Vytvoření nového objektu souboru a otevření souboru v režimu připojení
soubor=otevřeno('sample.txt','na')
# zápis jednoho řádku do souboru

soubor.napsat('Ahoj všichni n')
# zápis dalšího jediného řádku do souboru
soubor.napsat(`` Toto je nahrazený řetězec n')
# zápis dalšího nového řádku do souboru
soubor.napsat(`` Toto je nově přidaný řetězec řetězce n')
#zavření souboru
soubor.zavřít()

Výstup

Použití funkce writeelines ()

Funkce writeelines () se používá k zápisu více řádků do textu najednou, a to následovně:

# vytvoření nového objektu souboru a otevření souboru v režimu psaní
soubor=otevřeno('file1.txt','v')
# ukládání více řetězcových dat do proměnné
p = ['Ahoj všichni n','Vítejte v linuxhintu.' n',„Používáme funkci writeelines n']
# pomocí funkcí writeelines k zápisu dat do souboru
soubor.spisové linky(p)
#zavření souboru
soubor.zavřít()

Výstup

Jak číst soubor

Chcete -li číst soubor v Pythonu, nejprve otevřete soubor v režimu čtení. V Pythonu jsou tři integrované funkce pro čtení souboru. Mezi ně patří následující:

  1. číst()
  2. readline ()
  3. readlines ()

číst(): Používá se ke čtení dat ze souboru; vrací celá data ve formě řetězce.

readline (): Přečte řádek dat ze souboru; vrací pouze první řádek.

readlines (): Přečte všechny existující řádky ze souboru; vrátí jej ve formě seznamu.

Funkce seek () slouží ke změně polohy popisovače souboru. Při čtení dat v souboru se popisovač souboru sám umístí na konec souboru. Rukojeť souboru je tedy jako kurzor, přičemž funkce move () slouží jako prostředek pro pohyb kurzoru.

Podívejme se na příklad čtení dat ze souboru.

# otevření souboru v režimu čtení
soubor=otevřeno('file1.txt','r')
# pomocí funkce read () ke čtení dat ze souboru
# ukládání řádků do proměnné
data=soubor.číst()
# tisk dat
tisk(`` Toto je výstup funkce read (): n')
tisk(data)

# pomocí funkce seek () přeneste pozici souboru na začátek
soubor.hledat(0)
# pomocí funkce readline () ke čtení dat ze souboru
# ukládání řádků do proměnné
data=soubor.čtecí linka()
# tisk dat
tisk(`` Toto je výstup funkce readline (): n')
tisk(data)

# pomocí funkce seek () přeneste pozici souboru na začátek
soubor.hledat(0)
# pomocí funkce readlines () ke čtení dat ze souboru
# ukládání řádků do proměnné
data=soubor.čtecí linky()
# tisk dat
tisk(`` Toto je výstup funkce readlines (): n')
tisk(data)
#zavření souboru
soubor.zavřít()

Výstup

Závěr

Často je nutné ukládat informace nebo data do souboru. V Pythonu můžete snadno vytvářet, psát a číst soubory pomocí vestavěných funkcí Pythonu. Když chcete číst, zapisovat a vytvářet soubory, není nutné do programu importovat další moduly. Při používání souborů můžete také použít několik vestavěných režimů přístupu. V tomto článku jsme vysvětlili, jak číst a zapisovat soubory v Pythonu, na několika jednoduchých příkladech.