logo

Readlines v Pythonu

  • Readlines ( ) je funkcija, ki se v Pythonu uporablja za branje določene datoteke vrstico za vrstico naenkrat.
  • Je zelo uporaben pri zmanjševanju časovna kompleksnost med branjem datoteke z uporabo pristopa surove sile in z uporabo zank in različnih ponovitev.
  • Je enovrstična koda in preprosta funkcija, ki je veliko boljša od uporabe številnih zank samo za branje datoteke.
  • V programiranju C je branje datoteke precej težka naloga, vendar jo je zelo enostavno implementirati zaradi te funkcije readlines ( ) v Pythonu.
  • funkcija readlines ( ) prebere samo eno celotno vrstico iz dane datoteke; po branju vrne celotno vrstico z vsemi elementi v obliki seznama.
  • Če želimo datoteko odpreti v običajnem načinu branja, nam funkcija readline ( ) vrne niz.
  • Če želimo datoteko odpreti v binarnem načinu, vam funkcija readline ( ) vrne binarni objekt.
  • Prav tako je zelo koristno dodati novo vrstico ( ' ' ) na koncu vrstice.
  • Ta funkcija readline ( ) je večinoma primerna za datoteke majhne velikosti, ki vsebujejo manj podatkov, da lahko celotno datoteko preberete v krajšem času.
  • Najprej prebere vsebino datoteke v pomnilnik v eni sami potezi in jo nato loči v različne vrstice. S pomočjo funkcije strip ( ) lahko preletimo celoten seznam, ki ga je generirala funkcija readline ( ), s funkcijo strip ( ) pa lahko odstranimo znak za novo vrstico ' '.

Koncept datoteke Python

Programski jezik Python ima različne vgrajene funkcije za pisanje, ustvarjanje, in branje datotek. V Pythonu se obravnavata dve vrsti datotek, ki so običajne besedilne datoteke, druga pa so binarne datoteke, ki so večinoma napisane v binarnem jeziku, ki je 0 in 1.

    Besedilne datoteke:Te datoteke vsebujejo podatke v obliki besedila, ki se zaključi s posebnim znakom, imenovanim EOL (konec vrstice), ki je privzeto znak za novo vrstico (' ') v Pythonu.Binarne datoteke:Te vrste datotek vsebujejo podatke v obliki binarnih zaporedij, sestavljenih predvsem iz 0 in 1.

Nekateri osnovni koraki, ki jih je treba izvesti v datoteki:

Odpiranje datoteke: Datoteko odprete s funkcijo open ( ); med uporabo te funkcije moramo posredovati ime datoteke in način dostopa kot argument.

Tu so načini dostopa do datotek naslednji:

    Samo za branje ( r ):Uporablja se za branje podatkov iz datoteke. Postavlja začetek datoteke. Če omenjena datoteka ni prisotna, bo ustvarila vhodno/izhodno napako. Samo za branje je privzeti način odpiranja datoteke; med uporabo tega načina ne moremo urejati podatkov datoteke ali jih ne moremo zapisati v datoteko.Pišite samo ('w'):Uporablja se za zapisovanje podatkov v datoteko, pri čemer postavi začetek datoteke. Če omenjena datoteka ni prisotna, bo ustvarila vhodno/izhodno napako. Med uporabo tega načina ne moremo brati podatkov iz datoteke.Branje in pisanje ('r+'):Ta način se uporablja za pisanje in branje podatkov iz datoteke. Če ga primerjamo s prejšnjim načinom, lahko ločimo, da v načinu samo za branje ne moremo pisati v datoteko, lahko pa beremo in pišemo v datoteko v tem načinu.

Na primer, če imamo datoteko z imenom hello.txt in jo želimo odpreti v načinu pisanja, jo lahko uporabimo kot:

java vrne int v niz

File1 = open ('hello.txt', 'w')

Zapiranje datoteke: Funkcija zapiranja se uporablja za sprostitev pomnilniškega prostora, ki ga potrebuje datoteka; ta metoda je takrat, ko datoteke ne potrebujemo več ali če želimo zapreti celotno datoteko in želimo datoteko odpreti v drugem načinu. Izvaja se z uporabo funkcije close ( ), znotraj te funkcije pa nam ni treba posredovati nobenega argumenta; do te funkcije lahko dostopate z imenom datoteke in jo zagotovite s funkcijo za zapiranje pike.

Na primer, če imamo datoteko z imenom hello.txt in jo želimo odpreti v načinu pisanja, jo lahko uporabimo kot:

File1 = open ('hello.txt', 'w')
File1.close ( )

Pisanje v datoteko: Kot že ime pove, lahko s to metodo zlahka predvidimo, kaj moramo zapisati v datoteko. V datoteko lahko pišete na dva načina:

primerjaj z nizi v Javi
    Napišite ( ):V tej funkciji moramo posredovati en sam argument, niz, ki ga želimo vstaviti v datoteko.
    Na primer, če imamo datoteko z imenom hello.txt in jo želimo odpreti v načinu pisanja, jo lahko uporabimo kot:
    File1 = open ('hello.txt', 'w')
    File1.write (str)
    Tukaj je str niz, ki ga želimo vstaviti v datoteko.Vrstice pisanja ( ):V tej funkciji moramo posredovati matriko ali seznam, sestavljen iz več nizov. Uporablja se za vstavljanje več različnih nizov v datoteko hkrati.
    Na primer, če imamo datoteko z imenom hello.txt in jo želimo odpreti v načinu pisanja, jo lahko uporabimo kot:
    File1 = open ('hello.txt', 'w')
    File1.writelines(S) za S = [str1, str2, str3]

Branje iz datoteke: Podobno lahko v tem napovemo, kaj moramo narediti v tem; tudi v tej vadnici bomo podrobno prebrali enega od načinov branja. Pri tej metodi moramo prebrati podatke iz določene datoteke. Obstajajo trije načini branja podatkov iz datoteke:

prečkanje binarnega drevesa po pošti
    Preberi ( ):Vrne prebrane bajte v obliki niza. Prebere n bajtov; če n ni podan, prebere celotno datoteko.Readline ( ):Prebere vrstico datoteke in vrne v obliki niza. Za določen n prebere največ n bajtov. funkcija readline ( ) ne bere več kot ene vrstice hkrati; tudi če n preseže, prebere samo eno vrstico. Funkcija Readline ( ) prebere vrstico datoteke in jo vrne v nizu. Kot parameter vzame celoštevilsko vrednost n za branje števila prebranih znakov naenkrat. Metoda Readline ( ) je zelo učinkovita pri branju podatkov iz zelo velike datoteke, ker pridobi podatke vrstico za vrstico ter se vrne in natisne na zaslon. Readline ( ) vrne naslednjo vrstico datoteke, ki na koncu vsebuje znak za novo vrstico. Poleg tega, če je dosežen konec datoteke, vrne prazen niz.readlines ( ):Prebere vse vrstice in jih vrne kot element niza na seznamu. Readlines ( ) se uporablja za branje vseh vrstic naenkrat in jih nato vrne kot element niza na seznamu. To funkcijo lahko uporabite za majhne datoteke, saj prebere celotno vsebino datoteke v pomnilnik in jo nato razdeli v ločene vrstice. S funkcijo strip () lahko ponavljamo po seznamu in črtamo znak nove vrstice ' ' s funkcijo strip ( ).

Zdaj pa podrobno razumemo koncept branja datoteke s pomočjo primera:

Primeri branja datoteke v Pythonu:

Primer 1:

Branje datoteke s funkcijo readlines ( ).

 # Python program to implement the file concept using readlines ( ) for reading a file Fruits = ['Apple
', 'Orange
', 'Banana
'] # writing to file file = open('hello.txt', 'w') file.writelines(Fruits) # writelines is used to write the data into the file in # the form of a list, by inserting multiple values at the same time, # here, we are taking the hello.txt file file.close() # This instruction is used to close the file, i.e., hello.txt # Using readlines() file = open('hello.txt', 'r') Statements = file.readlines() count = 0 # Strips the newline character for line in Statements: # Using for loop to print the data of the file count = count + 1 print('Statement{}: {}'.format(count, line.strip())) 

Rezultat zgornjega primera:

Readlines v Pythonu

Primer 2:

brisanje iz binarnega iskalnega drevesa

Branje datoteke s funkcijo readline ( ).

 # Python program to implement the file concept using readline() for reading a file Fruit = [ 'Apple
' , 'Graphs
' , 'Mango
' , 'Orange
' , 'Kiwi
' ] # Writing to a file file1 = open('new.txt', 'w') file1.writelines((Fruit)) # writelines is used to write the data into the file in # the form of list, by inserting multiple values at a same time, # here we are taking new.txt file file1.close() # This instruction is used to close the file, i.e., hello.txt # Using readline() file1 = open('new.txt', 'r') count = 0 while True: count = count + 1 # Get next line from file s = file1.readline() # if line is empty # end of file is reached if not s: break print('Statement{}: {}'.format(count, s.strip())) file1.close() 

Rezultat zgornjega primera:

Readlines v Pythonu

Primer 3:

Branje datoteke s preprosto zanko for:

Pri tej metodi ne uporabljamo funkcije readline ( ) in niti ne funkcije readlines ( ), saj smo že videli uporabo obeh funkcij v zgornjih primerih; pri tej metodi bomo uporabili zanko for za tiskanje podatkov datoteke. Ponavljali bomo objekte datoteke in brali datoteko vrstico za vrstico, čeprav uporabljamo nekatere vnaprej določene vgrajene funkcije pythona. Z uporabo teh vgrajenih funkcij Python lahko enostavno iteriramo po predmetu datoteke implicitno z uporabo zanke for v kombinaciji z uporabo predmeta, ki ga je mogoče ponoviti.

 ## Python program to implement the file concept using the simple for loop for reading a file Fruits = ['Apple 
', ' Orange 
', 'Banana 
', 'Mango
', 'Pineapple
' ] # Writing to file file2 = open('file2.txt', 'w') file2.writelines(Fruits) # writelines is used to write the data into the file in # the form of list, by inserting multiple values at a same time, # here we are taking file2.txt file file2.close() # This instruction is used to close the file, i.e., hello.txt # Opening file file2 = open('file2.txt', 'r') count = 0 # Using for loop print('Using for loop') for line in file2: count = count + 1 print('Statement{}: {}'.format(count, line.strip())) # Closing files file2.close() 

Rezultat zgornjega primera:

niz nizov c
Readlines v Pythonu

Primer 4:

Branje datoteke s stavkom ' with ':

Če opazimo zgornje 3 primere, lahko zlahka ugotovimo, da je potrebno vsakič, ko je treba datoteko odpreti, zapreti; če datoteke ne zapremo, bo v programu ustvarilo več napak, ker veliko sprememb v datoteki ni opravljenih ali začne veljati, dokler datoteke ne zapremo.

Da bi rešili to težavo, bomo uporabili stavek ' with ', ki se večinoma uporablja pri obravnavanju izjem v Pythonu, da bo koda jasnejša in veliko bolj berljiva. Tukaj, v tem primeru, lahko zlahka opazite, da ne uporabljamo funkcije file.close ( ), znova in znova, da bi preprečili datoteko, njeno uporabo je mogoče izvesti samodejno z izjavo. Zato zmanjša število vrstic kode in omogoči hitrejše izvajanje programa ter učinkovitejšo implementacijo.

 # Python program to implement the file concept using with statement for reading a file Veges = ['Potato
', 'Onion
', 'Tomamto
'] # Writing to file with open('file3.txt', 'w') as file: file.writelines(Veges) # writelines is used to write the data into the file in # the form of list, by inserting multiple values at a same time, # here we are taking file3.txt file # using readlines() count = 0 print('Using readlines()') with open('file3.txt') as file: Statements = file.readlines() for line in Statements: count = count + 1 print('Satement{}: {}'.format(count, line.strip())) # Using readline() count = 0 print('
Using readline()') with open('file3.txt') as file: while True: count = count + 1 line = file.readline() if not line: break print('Statement{}: {}'.format(count, line.strip())) # Using for loop count = 0 print('
 Using for loop') with open('file3.txt') as file: for line in file: count = count + 1 print('Statements{}: {}'.format(count, line.strip())) 

Rezultat zgornjega primera:

Readlines v Pythonu