logo

Jak psát do textového souboru pomocí Pythonu?

Čtení a zápis do souboru pro uložení nebo pozdější použití jsou běžné úkoly programování. Python má řadu způsobů, jak pracovat se soubory, ale my se zaměříme zejména na zápis do textových souborů. Textové soubory se používají k ukládání dat ve formátu prostého textu a Python usnadňuje programátorům čtení a zápis dat do textových souborů.

V tomto tutoriálu vysvětlíme, jak mohou uživatelé zapisovat do textového souboru pomocí Pythonu.

Python má vestavěnou funkci pro vytváření, zápis nebo čtení souborů. Dokáže zpracovat dva typy souborů, normální textové soubory a binární soubory. Volba mezi těmito dvěma závisí na datech, se kterými pracujete, a na požadavcích aplikace.

    Normální textový soubor:Normální textový soubor ukládá obsah nebo znaky čitelné pro člověka, jako jsou písmena, čísla, mezery a symboly. V normálním textovém souboru je každý řádek textu ukončen speciálním znakem známým jako 'End of Line' (EOL). Ve výchozím nastavení je to znak nového řádku (' ') v Pythonu.Binární soubor:Binární soubory ukládají data v binárním formátu. V binárním souboru není žádný řádek ukončen a data jsou uložena poté, co jsou převedena do strojového binárního jazyka. Tato data nejsou určena ke čtení a úpravě přímo lidmi.

Syntaxe pro otevření souboru v Pythonu:

 # Method 1: file = open (path_to_the_file, mode) # Manually required to close the file `file.close()` to ensure that # changes made are saved, and system resources are freed up. # Method 2: with open (path_to_the_file, mode) as file: # It automatically closes the file properly # after the block code is executed. 

Funkce open() může přijímat různé parametry. Ale uživatel se musí zaměřit na první dvě:

    Cesta_k_souboru- 'cesta_k_souboru' parametr se používá pro specifikaci cesty k textovému souboru, který chce uživatel otevřít pro zápis.Režim- 'režim' parametr slouží k určení režimu (zápis, čtení atd.), pro který chce uživatel otevřít textový soubor.

Pro zápis do textového souboru bude uživatel používat následující režim:

Režim Popis
'V' Slouží k otevření textového souboru pro psaní textu. V tomto režimu je soubor zkrácen, což znamená, že stávající obsah souboru je smazán.
'A' Používá se pro otevření textového souboru pro připojení textu. Ukazatel se umístí na konec souboru a ke stávajícímu obsahu se připojí nová data.

Příklad: Ukázat, jak může uživatel zapisovat do textového souboru pomocí Pythonu

 file.write('
') file.writelines('
') 

Je zcela na uživateli, zda chce přidat text na následující řádek nebo ne.

vba

Příklad 2: Ukázat, jak použít funkci write() pro zápis seznamu textů v textovém souboru

 # Method 1 - Simple Approach file = open ('writeme.txt', 'w') file.write('writeme') file.close() # Method 2 - Using the 'with' keyword to open a file with open ('writeme.txt', 'w') as file: file.write('writeme') 

Výstup:

Jak psát do textového souboru pomocí Pythonu

Obě metody dávají stejný výsledek.

Kroky k zápisu do textového souboru v Pythonu:

Pro zápis do textového souboru pomocí Krajta , uživatel musí provést následující kroky:

Krok 1 - Otevřete soubor - Abychom mohli začít zapisovat do textového souboru, musíme jej nejprve otevřít pomocí vestavěné funkce open(), která má dva parametry: název souboru (včetně cesty, pokud soubor není v aktuálním adresáři) a režim v který chceme otevřít soubor. V případě zápisu do textového souboru můžeme použít buď režim 'w', což znamená režim zápisu, nebo režim 'a', což znamená režim připojení. Pokud soubor neexistuje, Python vytvoří nový soubor s daným názvem.

 # Opening a file 'example.txt' file = open('example.txt', 'w') 

Funkce open() vrátí souborový objekt a tento souborový objekt bude mít dvě užitečné funkce pro zápis textu do něj:

  • napsat()
  • writelines()

Funkce write() se používá pro zápis řetězce v textovém souboru a funkce writelines() se používá pro zápis seznamu řetězce v souboru najednou.

Funkce writelines() může také přijmout iterovatelný objekt. Uživatel může také předat n-tici řetězců, sadu řetězců atd.

Pro zápis na další řádek musí uživatel ručně přidat znak nového řádku.

Krok 2 - Zapište do souboru: Jakmile je soubor otevřen v režimu zápisu, můžeme do něj zapsat buď funkci write() nebo funkci writelines(). Metoda write() bere řetězec jako parametr, který chceme zapsat do souboru. Můžeme napsat více řádků tím, že několikrát zavoláme funkci write() nebo použijeme znaky nového řádku ( ) mezi řetězci k oddělení řádků.

 # Using the 'write' function file.write('This is the first line.
') file.write('This is the second line.
') # Using the 'writelines' function file.writelines('This is the first line.
This is the second line.
') 

Krok 3 - Zavřete soubor: Uživatel může textový soubor zavřít pomocí funkce close(). Po zapsání požadovaného obsahu do souboru je důležité jej správně zavřít. Zavřením souboru zajistíte uložení všech změn a uvolnění systémových prostředků.

 # Closing the file file.close() 

Příklad 2: Ukázat, jak mohou uživatelé přidat nový znak řádku do souboru txt

 file.write('
') file.writelines('
') 

Je zcela na uživatelích, zda chtějí přidat text na následující řádek nebo ne.

Příklad 3: Ukázat, jak používat funkci write() pro zápis seznamu textů nebo řetězců v textovém souboru

 # Creating a list of strings lines_1 = [ 'This is an example', 'to show how a user can write in a text file using Python'] with open('text.txt', 'w') as file: # Iterating over each element of the list for line_1 in lines_1: file.write(line_1) # Adding the line to the text.txt file.write('
') # Adding a new line character 

Výstup:

parafrázovat jako rudyard kipling
Jak psát do textového souboru pomocí Pythonu

Vysvětlení:

Ve výše uvedeném příkladu jsme nejprve vytvořili seznam řetězců s názvem lines_1 a poté jsme tento soubor otevřeli pomocí funkce open() s příkazem 'with'. Potom jsme použili for-loop k iteraci prvků seznamu, následovalo zapsání řádku a přidání nového znaku řádku do souboru. Na konec cyklu for se přidá nový znak řádku a ukazatel se umístí na další řádek.

Pokud soubor text.txt ve složce neexistuje, funkce open() vytvoří nový soubor a podle toho se provedou operace.

Příklad 4: Chcete-li ukázat, jak mohou uživatelé zapsat seznam textových řetězců do souboru text.txt pomocí funkce writelines():

 # Creating a list of strings lines_1 = [ 'This is an example ', 'to show how a user can write in a text file using writelines() function in Python.'] # Opening the text.txt file with open('text.txt', 'w') as file: # Using the writelines() function file.writelines(lines_1) 

Výstup:

Jak psát do textového souboru pomocí Pythonu

Vysvětlení:

Ve výše uvedeném příkladu funkce writelines() zapíše každý prvek seznamu na jeden řádek v souboru.

Pokud uživatel zachází s každým prvkem seznamu jako s řádkem, musí jej propojit znakem nového řádku.

Příklad 4: Ukázat, jak může uživatel propojit znak nového řádku s každým prvkem řádku v souboru text.txt

Již jsme viděli v příkladu číslo 3, jak můžeme za každý prvek seznamu přidat nový znak řádku. Při použití funkce writelines() musíme do řetězce přidat nový znak řádku.

 # Creating a list of strings lines_1 = [ 'This is an example
', 'to show how a user can link a new line character
', 'with each element of the list.
'] # Opening the text.txt file with open('text.txt', 'w') as file: # Using the writelines function file.writelines(lines_1) 

Výstup:

Jak psát do textového souboru pomocí Pythonu

Vysvětlení:

Ve výše uvedeném příkladu funkce writelines() zapíše prvek seznamu do souboru text.txt, kde je každý prvek seznamu ukončen znakem nového řádku.

Závěr

V tomto tutoriálu jsme vysvětlili, jak může uživatel psát texty do textového souboru pomocí Pythonu a jeho různých funkcí. Nejprve jsme se dozvěděli o normálních a binárních textových souborech, poté následovala syntaxe, jak soubor otevřít. Také jsme se podívali na rozdíl mezi „w“ (režim zápisu) a „a“ (režim připojení). Poté jsme se dozvěděli o krocích zápisu do textového souboru v Pythonu a implementovali jsme různé příklady, abychom porozuměli různým metodám zápisu do textového souboru.