logo

Readlines en Python

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

    Fitxers de text:Aquests fitxers contenen les dades en forma de text, que s'acaba amb un caràcter especial anomenat EOL ( final de línia ), el caràcter de nova línia ( ' ' ) a Python per defecte.Fitxers binaris:Aquest tipus de fitxers contenen les dades en forma de seqüències binàries, que consisteixen principalment en 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:

    Només lectura ( r ):S'utilitza per llegir les dades del fitxer. És el posicionament de l'inici del fitxer. Si el fitxer esmentat no està present, generarà un error d'entrada/sortida. Només lectura és el mode predeterminat d'obrir el fitxer; mentre utilitzem aquest mode, no podem editar les dades del fitxer o no podem escriure-les al fitxer.Només escriviu ( ' w ' ):S'utilitza per escriure les dades al fitxer, col·locant l'inici del fitxer. Si el fitxer esmentat no està present, generarà un error d'entrada/sortida. Mentre utilitzem aquest mode, no podem llegir les dades del fitxer.Llegir i escriure ('r+'):Aquest mode s'utilitza per escriure i llegir les dades del fitxer. Si el comparem amb el mode anterior, podem distingir que no podem escriure al fitxer en mode de només lectura, però sí que podem llegir i escriure al fitxer en aquest mode.

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
    Escriu ( ):En aquesta funció, hem de passar un sol argument, 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.write ( str )
    Aquí, str és la cadena que volem inserir al fitxer.Línies d'escriptura ( ):En aquesta funció, hem de passar una matriu o una llista formada per múltiples cadenes. S'utilitza per inserir diverses cadenes diferents al fitxer alhora.
    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
    Llegeix ( ):Retorna els bytes llegits en forma de cadena. Llegeix n bytes; si no s'especifica n, llegeix tot el fitxer.Línia de lectura ( ):Llegeix una línia del fitxer i retorna en forma de cadena. Per a n especificat, llegeix com a màxim n bytes. La funció readline ( ) no llegeix més d'una línia alhora; encara que n superi, només llegeix una línia. La funció Readline ( ) llegeix una línia del fitxer i la retorna a la cadena. Es necessita un valor enter n com a paràmetre per llegir el nombre de caràcters llegits alhora. El mètode Readline ( ) és molt eficient per llegir les dades d'un fitxer molt gran perquè obté les dades línia per línia i torna i imprimeix a la pantalla. Readline ( ) retorna la línia següent del fitxer, que al final conté un caràcter de nova línia. A més, si s'arriba al final del fitxer, retornarà una cadena buida.línies de lectura ( ):Llegeix totes les línies i les retorna com a element de cadena en una llista. Readlines ( ) s'utilitza per llegir totes les línies d'una sola vegada i després tornar-les com a element de cadena en una llista. Aquesta funció es pot utilitzar per a fitxers petits, ja que llegeix tot el contingut del fitxer a la memòria i després el divideix en línies separades. Mitjançant la funció strip (), podem iterar per la llista i eliminar el caràcter de nova línia ' ' mitjançant la funció strip ( ).

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:

Readlines en Python

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:

Readlines en Python

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
Readlines en Python

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:

Readlines en Python