Čítanie a zápis do súboru na uloženie alebo neskoršie použitie sú bežné úlohy pri programovaní. Python má množstvo spôsobov práce so súbormi, no zameriame sa najmä na zápis do textových súborov. Textové súbory sa používajú na ukladanie údajov vo formáte obyčajného textu a Python uľahčuje programátorom čítanie a zápis údajov do textových súborov.
V tomto návode vysvetlíme, ako môžu používatelia písať do textového súboru pomocou Pythonu.
Python má vstavanú funkciu na vytváranie, zapisovanie alebo čítanie súborov. Dokáže spracovať dva typy súborov, normálne textové súbory a binárne súbory. Výber medzi týmito dvoma závisí od údajov, s ktorými pracujete, a od požiadaviek aplikácie.
Syntax na otvorenie súboru v Pythone:
# 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.
Funkcia open() môže akceptovať rôzne parametre. Používateľ sa však musí zamerať na prvé dva:
Na zápis do textového súboru bude používateľ používať nasledujúci režim:
Režim | Popis |
---|---|
'In' | Používa sa na otvorenie textového súboru na písanie textu. Súbor je v tomto režime skrátený, čo znamená, že existujúci obsah súboru sa vymaže. |
'a' | Používa sa na otvorenie textového súboru na pridanie textu. Ukazovateľ sa umiestni na koniec súboru a k existujúcemu obsahu sa pridajú nové údaje. |
Príklad: Ukázať, ako môže používateľ písať do textového súboru pomocou Pythonu
file.write(' ') file.writelines(' ')
Je úplne na užívateľovi, či chce pridať text do nasledujúceho riadku alebo nie.
python // operátor
Príklad 2: Ukázať, ako použiť funkciu write() na písanie zoznamu textov v textovom súbore
# 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ýkon:
Obe metódy dávajú rovnaký výsledok.
Kroky na písanie do textového súboru v Pythone:
Na zápis do textového súboru pomocou Python , používateľ musí postupovať podľa nasledujúcich krokov:
Krok 1 - Otvorte súbor - Aby sme mohli začať písať do textového súboru, musíme ho najprv otvoriť pomocou vstavanej funkcie open(), ktorá má dva parametre: názov súboru (vrátane cesty, ak súbor nie je v aktuálnom adresári) a režim v ktorým chceme súbor otvoriť. V prípade zápisu do textového súboru môžeme použiť buď režim 'w', čo znamená režim zápisu, alebo režim 'a', ktorý znamená režim pripojenia. Ak súbor neexistuje, Python vytvorí nový súbor s daným názvom.
# Opening a file 'example.txt' file = open('example.txt', 'w')
Funkcia open() vráti objekt súboru a tento objekt súboru bude mať dve užitočné funkcie na písanie textu:
- písať ()
- writelines()
Funkcia write() sa používa na zápis reťazca do textového súboru a funkcia writelines() sa používa na zapísanie zoznamu reťazca v súbore naraz.
Funkcia writelines() môže tiež akceptovať iterovateľný objekt. Používateľ môže tiež odovzdať n-ticu reťazcov, množinu reťazcov atď.
Ak chcete napísať ďalší riadok, používateľ musí ručne pridať znak nového riadku.
Krok 2 - Zapíšte do súboru: Hneď ako sa súbor otvorí v režime zápisu, môžeme doň zapísať buď funkciu write() alebo funkciu writelines(). Metóda write() berie reťazec ako parameter, ktorý chceme zapísať do súboru. Viaceré riadky môžeme napísať viacnásobným volaním funkcie write() alebo použitím znakov nového riadku ( ) medzi reťazcami na oddelenie riadkov.
# 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 - Zatvorte súbor: Používateľ môže zatvoriť textový súbor pomocou funkcie close(). Po zapísaní požadovaného obsahu do súboru je dôležité súbor správne zatvoriť. Zatvorením súboru sa zabezpečí uloženie všetkých zmien a uvoľnenie systémových prostriedkov.
previesť int na dvojitú javu
# Closing the file file.close()
Príklad 2: Ukázať, ako môžu používatelia pridať nový znak riadku do súboru txt
file.write(' ') file.writelines(' ')
Je úplne na užívateľoch, či chcú pridať text do nasledujúceho riadku alebo nie.
Príklad 3: Ukázať, ako použiť funkciu write() na písanie zoznamu textov alebo reťazcov v textovom súbore
# 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ýkon:
Vysvetlenie:
Vo vyššie uvedenom príklade sme najprv vytvorili zoznam reťazcov s názvom lines_1 a potom sme tento súbor otvorili pomocou funkcie open() s príkazom 'with'. Potom sme použili slučku for na iteráciu prvkov zoznamu, nasledovalo napísanie riadku a pridanie nového znaku riadku do súboru. Na koniec cyklu for sa pridá znak nového riadku a ukazovateľ sa umiestni na ďalší riadok.
Ak súbor text.txt v priečinku neexistuje, funkcia open() vytvorí nový súbor a podľa toho sa vykonajú operácie.
Príklad 4: Ak chcete ukázať, ako môžu používatelia zapísať zoznam textových reťazcov do súboru text.txt pomocou funkcie 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ýkon:
Vysvetlenie:
Vo vyššie uvedenom príklade funkcia writelines() zapíše každý prvok zoznamu do jedného riadku v súbore.
Ak používateľ považuje každý prvok zoznamu za riadok, musí ho prepojiť znakom nového riadku.
Príklad 4: Ukázať, ako môže používateľ prepojiť znak nového riadku s každým prvkom riadku v súbore text.txt
Už sme videli v príklade číslo 3, ako môžeme za každý prvok zoznamu pridať nový riadkový znak. Pri používaní funkcie writelines() musíme do reťazca pridať nový riadkový znak.
# 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ýkon:
Vysvetlenie:
Vo vyššie uvedenom príklade funkcia writelines() zapíše prvok zoznamu do súboru text.txt, kde je každý prvok zoznamu ukončený znakom nového riadku.
Záver
V tomto návode sme vysvetlili, ako môže používateľ písať texty do textového súboru pomocou Pythonu a jeho rôznych funkcií. Najprv sme sa dozvedeli o normálnych a binárnych textových súboroch, po ktorých nasledovala syntax, ako otvoriť súbor. Pozreli sme sa aj na rozdiel medzi „w“ (režim zápisu) a „a“ (režim pripojenia). Potom sme sa dozvedeli o krokoch zápisu do textového súboru v Pythone a implementovali sme rôzne príklady na pochopenie rôznych metód zápisu do textového súboru.