- 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.
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:
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
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.
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
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:
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:
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
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: