Branje in pisanje v datoteko za shranjevanje ali kasnejšo uporabo sta pogosti nalogi pri programiranju. Python ima številne načine za delo z datotekami, vendar se bomo še posebej osredotočili na pisanje v besedilne datoteke. Besedilne datoteke se uporabljajo za shranjevanje navadnih besedilnih podatkov, Python pa programerjem olajša branje in pisanje podatkov v besedilne datoteke.
V tej vadnici bomo razložili, kako lahko uporabniki pišejo v besedilno datoteko s Pythonom.
Python ima vgrajeno funkcijo za ustvarjanje, pisanje ali branje datotek. Obdeluje lahko dve vrsti datotek, običajne besedilne datoteke in binarne datoteke. Izbira med tema dvema je odvisna od podatkov, s katerimi delate, in zahtev aplikacije.
Sintaksa za odpiranje datoteke 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.
Funkcija open() lahko sprejme različne parametre. Toda uporabnik se mora osredotočiti na prvi dve:
Za pisanje v besedilno datoteko bo uporabnik uporabil naslednji način:
Način | Opis |
---|---|
'V' | Uporablja se za odpiranje besedilne datoteke za pisanje besedila. Datoteka je v tem načinu okrnjena pomeni, da je obstoječa vsebina datoteke izbrisana. |
'a' | Uporablja se za odpiranje besedilne datoteke za dodajanje besedila. Kazalec se postavi na konec datoteke, novi podatki pa se dodajo obstoječi vsebini. |
Primer: pokazati, kako lahko uporabnik piše v besedilno datoteko z uporabo Pythona
file.write(' ') file.writelines(' ')
Od uporabnika je popolnoma odvisno, ali želi dodati besedilo v naslednjo vrstico ali ne.
seznam metod java
Primer 2: pokazati, kako uporabiti funkcijo write() za pisanje seznama besedil v besedilno datoteko
# 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')
Izhod:
Obe metodi dajeta enak rezultat.
Koraki za pisanje v besedilno datoteko v Pythonu:
Za pisanje v besedilno datoteko uporabite Python , mora uporabnik slediti naslednjim korakom:
1. korak - Odprite datoteko - Da začnemo pisati v besedilno datoteko, jo moramo najprej odpreti z uporabo vgrajene funkcije open(), ki sprejme dva parametra: ime datoteke (vključno s potjo, če datoteka ni v trenutnem imeniku) in način v kateri želimo odpreti datoteko. V primeru pisanja v besedilno datoteko lahko uporabimo način 'w', ki pomeni način pisanja, ali način 'a', ki pomeni način dodajanja. Če datoteka ne obstaja, bo Python ustvaril novo datoteko z danim imenom.
# Opening a file 'example.txt' file = open('example.txt', 'w')
Funkcija open() bo vrnila datotečni objekt in ta datotečni objekt bo imel dve uporabni funkciji za pisanje besedila vanj:
- pisati()
- pisne vrstice()
Funkcija write() se uporablja za pisanje niza v besedilno datoteko, funkcija writelines() pa za pisanje seznama niza v datoteko hkrati.
Funkcija writeline() lahko sprejme tudi predmet, ki ga je mogoče ponoviti. Uporabnik lahko posreduje tudi nabor nizov, nabor nizov itd.
Za pisanje v naslednjo vrstico mora uporabnik ročno dodati znak nove vrstice.
2. korak - Zapišite v datoteko: Takoj ko se datoteka odpre v načinu pisanja, lahko za pisanje vanjo uporabimo funkcijo write() ali funkcijo writeline(). Metoda write() vzame niz kot parameter, ki ga želimo zapisati v datoteko. Več vrstic lahko napišemo tako, da večkrat pokličemo funkcijo write() ali uporabimo znake za novo vrstico ( ) med nizi za ločevanje vrstic.
# 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. ')
3. korak – Zaprite datoteko: Uporabnik lahko zapre besedilno datoteko s funkcijo close(). Po zapisu želene vsebine v datoteko je pomembno, da jo pravilno zaprete. Z zapiranjem datoteke zagotovite, da so vse spremembe shranjene in da se sprostijo sistemski viri.
# Closing the file file.close()
2. primer: pokazati, kako lahko uporabniki dodajo znak nove vrstice v datoteko txt
file.write(' ') file.writelines(' ')
Popolnoma od uporabnikov je odvisno, ali želijo dodati besedilo v naslednjo vrstico ali ne.
Primer 3: pokazati, kako uporabiti funkcijo write() za pisanje seznama besedil ali nizov v besedilno datoteko
# 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
Izhod:
Pojasnilo:
V zgornjem primeru smo najprej ustvarili seznam nizov z imenom lines_1, nato pa smo to datoteko odprli s funkcijo open() s stavkom 'with'. Nato smo uporabili zanko for za ponavljanje elementov seznama, čemur je sledilo pisanje vrstice in dodajanje novega znaka vrstice v datoteko. Nov znak za vrstico je dodan na koncu zanke for in kazalec se postavi v naslednjo vrstico.
Če datoteka text.txt ne obstaja v mapi, bo funkcija open() ustvarila novo datoteko in operacije bodo ustrezno izvedene.
4. primer: pokazati, kako lahko uporabniki napišejo seznam besedilnih nizov v datoteko text.txt s funkcijo writelines():
značilnosti java
# 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)
Izhod:
Pojasnilo:
V zgornjem primeru funkcija writelines() zapiše vsak element seznama v eno vrstico v datoteko.
Če uporabnik vsak element seznama obravnava kot vrstico, ga mora povezati z znakom nove vrstice.
Primer 4: pokazati, kako lahko uporabnik poveže znak za novo vrstico z vsakim elementom vrstice v datoteki text.txt
V primeru številka 3 smo že videli, kako lahko dodamo nov znak vrstice za vsakim elementom seznama. Pri uporabi funkcije writelines() moramo v niz dodati nov znak vrstice.
# 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)
Izhod:
Pojasnilo:
V zgornjem primeru funkcija writelines() zapiše element seznama v datoteko text.txt, kjer se vsak element seznama konča z znakom nove vrstice.
Zaključek
V tej vadnici smo razložili, kako lahko uporabnik piše besedila v besedilno datoteko z uporabo Pythona in njegovih različnih funkcij. Najprej smo spoznali običajne in binarne besedilne datoteke, nato pa sintakso, kako odpreti datoteko. Preučili smo tudi razliko med 'w' (način pisanja) in 'a' (način dodajanja). Nato smo spoznali korake za pisanje v besedilno datoteko v Pythonu in implementirali različne primere za razumevanje različnih metod pisanja v besedilno datoteko.