- Readlines ( ) és una funció que s'utilitza a Python per llegir un fitxer concret línia per línia d'una sola vegada.
- És molt útil per reduir la complexitat temporal mentre llegeix un fitxer mitjançant l'enfocament de força bruta i utilitza bucles i diferents iteracions.
- És un codi d'una línia i una funció senzilla, que és molt millor que utilitzar molts bucles només per llegir un fitxer.
- A la programació en C, llegir un fitxer és una tasca bastant difícil, però és molt fàcil d'implementar a causa d'aquesta funció readlines ( ) a Python.
- readlines ( ) la funció llegeix només una línia completa del fitxer donat; després de llegir, retorna tota la línia que conté tots els elements en forma de llista.
- Si volem obrir el fitxer en mode de lectura normal, la funció readline ( ) ens retornarà la cadena.
- Si volem obrir el fitxer en mode binari, la funció readline ( ) us retornarà un objecte binari.
- També és molt beneficiós afegir una nova línia ( ' ' ) al final de la línia.
- Aquesta funció readlines ( ) és adequada principalment per a fitxers de mida petita, que contenen menys dades per llegir tot el fitxer en menys temps fàcilment.
- Primer llegeix el contingut del fitxer a una memòria d'una sola vegada i després els separa en diverses línies. Amb l'ajuda de la funció strip ( ), podem iterar per tota la llista, que ha estat generada per la funció readline ( ), i utilitzant la funció strip ( ), podem eliminar el caràcter de nova línia ' '.
Concepte de fitxer Python
El llenguatge de programació Python té diverses funcions incorporades escriure, crear, i lectura de fitxers. A Python es gestionen dos tipus de fitxers, que són fitxers de text normals, i el segon són fitxers binaris escrits principalment en llenguatge binari que és 0 i 1.
Alguns passos bàsics que s'han de realitzar en un fitxer:
Obrint un fitxer: L'obertura d'un fitxer es fa mitjançant la funció obrir ( ); mentre utilitzem aquesta funció, hem de passar el nom del fitxer i el mode d'accés com a argument.
Aquí els modes d'accés als fitxers són els següents:
Per exemple, si tenim un fitxer anomenat hello.txt i volem obrir-lo en mode d'escriptura, el podem utilitzar com a:
any que es va inventar l'ordinador
Fitxer1 = obert ( ' hola.txt ' , ' w ' )
Tancant un fitxer: La funció de tancament s'utilitza per alliberar l'espai de memòria requerit pel fitxer; aquest mètode és quan ja no hi ha necessitat del fitxer o si volem tancar tot el fitxer i volem obrir el fitxer en un altre mode. Es realitza utilitzant la funció de tancament ( ), i dins d'aquesta funció, no estem obligats a passar cap argument; Es pot accedir a aquesta funció mitjançant el nom del fitxer i proporcionada per la funció de tancament de punts.
Per exemple, si tenim un fitxer anomenat hello.txt i volem obrir-lo en mode d'escriptura, el podem utilitzar com a:
Fitxer1 = obert ( ' hola.txt ' , ' w ' )Fitxer1.tancar ( )
Escriure en un fitxer: Com el seu nom indica, podem predir fàcilment què hem d'escriure en un fitxer amb aquest mètode. Hi ha dues maneres d'escriure en un fitxer:
data a cadena
Per exemple, si tenim un fitxer anomenat hello.txt i volem obrir-lo en mode d'escriptura, el podem utilitzar com a:
Fitxer1 = obert ( ' hola.txt ' , ' w ' )
Fitxer1.write ( str )
Aquí, str és la cadena que volem inserir al fitxer.
Per exemple, si tenim un fitxer anomenat hello.txt i volem obrir-lo en mode d'escriptura, el podem utilitzar com a:
Fitxer1 = obert ( ' hola.txt ' , ' w ' )
Fitxer1.writelines( S ) per a S = [ str1 , str2 , str3 ]
Lectura d'un fitxer: De la mateixa manera, en això, podem predir que el que hem de fer en això; fins i tot en aquest tutorial, llegirem amb detall un dels mètodes de lectura. En aquest mètode, hem de llegir les dades del fitxer en particular. Hi ha tres maneres de llegir les dades del fitxer:
matriu de làtex
Ara entenem el concepte de llegir un fitxer en detall amb l'ajuda d'un exemple:
Exemples de lectura d'un fitxer en Python:
Exemple 1:
Llegint un fitxer mitjançant la funció 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()))
La sortida de l'exemple anterior:
Exemple 2:
cadena.subcadena java
Llegint un fitxer mitjançant la funció 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()
La sortida de l'exemple anterior:
Exemple 3:
Llegint un fitxer amb un bucle for simple:
En aquest mètode, no estem utilitzant la funció readline ( ) i ni tan sols utilitzem la funció readlines ( ), com ja hem vist l'ús de les dues funcions en els exemples anteriors; en aquest mètode, utilitzarem el bucle for per imprimir les dades del fitxer. Iterarem els objectes del fitxer i llegirem un fitxer línia per línia, tot i que estem utilitzant algunes funcions integrades predefinides de Python. Utilitzant aquestes funcions de Python incorporades, podem iterar fàcilment sobre l'objecte fitxer de manera implícita utilitzant un bucle for, en combinació amb l'ús de l'objecte iterable.
## 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()
La sortida de l'exemple anterior:
system.out.println
Exemple 4:
Llegint un fitxer amb la instrucció ' with ':
Si observem els 3 exemples anteriors, podem observar fàcilment que cada vegada que cal obrir el fitxer, cal tancar-lo; si no tanquem el fitxer, llavors es crearan diversos errors al programa perquè molts canvis no es fan al fitxer o entren en vigor fins que no tanquem el fitxer.
Per tant, per superar aquest problema, utilitzarem la sentència 'with', que s'utilitza principalment en el maneig d'excepcions a Python, per fer que el codi sigui més clar i molt més llegible. Aquí, en aquest exemple, podeu observar fàcilment que no estem utilitzant la funció file.close ( ), una vegada i una altra, per evitar que el fitxer, utilitzar-lo es pot fer automàticament amb la instrucció. Per tant, redueix les línies de codi i fa que el programa sigui més ràpid per executar-lo i implementar-lo de manera més eficient.
# 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()))
La sortida de l'exemple anterior: