logo

Linhas de leitura em Python

  • Readlines () é uma função usada em Python para ler um arquivo específico linha por linha de uma só vez.
  • É muito útil na redução do complexidade de tempo ao ler um arquivo usando a abordagem de força bruta e usando loops e diferentes iterações.
  • É um código de uma linha e função simples, que é muito melhor do que usar muitos loops apenas para ler um arquivo.
  • Na programação C, ler um arquivo é uma tarefa bastante difícil, mas é muito fácil de implementar devido à função readlines () em Python.
  • A função readlines() lê apenas uma linha completa do arquivo fornecido; após a leitura, retorna a linha inteira contendo todos os elementos em forma de lista.
  • Se quisermos abrir o arquivo no modo de leitura normal, a função readline() nos retornará a string.
  • Se quisermos abrir o arquivo em modo binário, a função readline() retornará um objeto binário.
  • Também é muito benéfico acrescentar uma nova linha ( ' ' ) no final da linha.
  • Esta função readlines ( ) é mais adequada para arquivos de tamanho pequeno, contendo menos dados para ler facilmente o arquivo inteiro em menos tempo.
  • Ele primeiro lê o conteúdo do arquivo em uma memória de uma só vez e depois os separa em várias linhas. Com a ajuda da função strip(), podemos iterar sobre toda a lista, que foi gerada pela função readline(), e usando a função strip(), podemos remover o caractere de nova linha ' '.

Conceito de arquivo Python

A linguagem de programação Python possui várias funções integradas para escrever, criar, e lendo arquivos. Dois tipos de arquivos são tratados em Python, que são arquivos de texto normais, e o segundo são arquivos binários escritos principalmente em linguagem binária que consiste em 0 e 1.

    Arquivos de texto:Esses arquivos contêm os dados na forma de texto, que termina com um caractere especial chamado EOL (fim de linha), o caractere de nova linha (' ') em Python por padrão.Arquivos binários:Esses tipos de arquivos contêm os dados na forma de sequências binárias, consistindo principalmente de 0 e 1.

Certas etapas básicas a serem executadas em um arquivo:

Abrindo um arquivo: A abertura de um arquivo é feita através da função open(); ao usar esta função, devemos passar o nome do arquivo e o modo de acesso como argumento.

Aqui os modos de acesso ao arquivo são os seguintes:

    Somente leitura (r):É usado para ler os dados do arquivo. Está posicionando o início do arquivo. Se o arquivo mencionado não estiver presente, irá gerar um erro de entrada/saída. Somente leitura é o modo padrão de abertura do arquivo; ao usar este modo, não podemos editar os dados do arquivo ou gravá-los no arquivo.Escreva apenas ( 'w'):É utilizado para gravar os dados no arquivo, posicionando o início do arquivo. Se o arquivo mencionado não estiver presente, irá gerar um erro de entrada/saída. Ao usar este modo, não podemos ler os dados do arquivo.Ler e escrever ( ' r+ ' ):Este modo é usado para escrever e ler os dados do arquivo. Se compararmos com o modo anterior, podemos distinguir que não podemos escrever no arquivo no modo somente leitura, mas podemos ler e escrever no arquivo neste modo.

Por exemplo, se tivermos um arquivo chamado hello.txt e quisermos abri-lo no modo de gravação, podemos usá-lo como:

função de seta digitada

Arquivo1 = abrir ('hello.txt', 'w')

Fechando um arquivo: A função Fechar é usada para liberar o espaço de memória exigido pelo arquivo; este método é quando não há mais necessidade do arquivo ou se queremos fechar o arquivo inteiro e abrir o arquivo em um modo diferente. É realizado usando a função close ( ), e dentro desta função não somos obrigados a passar nenhum argumento; esta função pode ser acessada usando o nome do arquivo e fornecida pela função dot close.

Por exemplo, se tivermos um arquivo chamado hello.txt e quisermos abri-lo no modo de gravação, podemos usá-lo como:

Arquivo1 = abrir ('hello.txt', 'w')
Arquivo1.fechar()

Escrevendo em um arquivo: Como o nome sugere, podemos prever facilmente o que devemos escrever em um arquivo neste método. Existem duas maneiras de escrever em um arquivo:

int para char java
    Escrever ( ):Nesta função devemos passar um único argumento, a string que queremos inserir no arquivo.
    Por exemplo, se tivermos um arquivo chamado hello.txt e quisermos abri-lo no modo de gravação, podemos usá-lo como:
    Arquivo1 = abrir ('hello.txt', 'w')
    Arquivo1.write (str)
    Aqui, str é a string que queremos inserir no arquivo.Linhas de gravação ( ):Nesta função, devemos passar um array ou uma lista composta por múltiplas strings. Ele é usado para inserir várias strings no arquivo de uma só vez.
    Por exemplo, se tivermos um arquivo chamado hello.txt e quisermos abri-lo no modo de gravação, podemos usá-lo como:
    Arquivo1 = abrir ('hello.txt', 'w')
    Arquivo1.writelines(S) para S = [str1, str2, str3]

Lendo de um arquivo: Da mesma forma, podemos prever o que temos que fazer nisso; mesmo neste tutorial, vamos ler detalhadamente um dos métodos de leitura. Neste método, precisamos ler os dados de um arquivo específico. Existem três maneiras de ler os dados do arquivo:

união vs união todos
    Ler ( ):Retorna os bytes lidos na forma de uma string. Lê n bytes; se n não for especificado, lê o arquivo inteiro.Leia a linha ( ):Lê uma linha do arquivo e retorna na forma de uma string. Para n especificado, lê no máximo n bytes. A função readline() não lê mais de uma linha por vez; mesmo que n exceda, ele lê apenas uma linha. A função Readline() lê uma linha do arquivo e a retorna na string. É necessário um valor inteiro n como parâmetro para ler o número de caracteres lidos por vez. O método Readline() é muito eficiente na leitura dos dados de um arquivo muito grande porque ele busca os dados linha por linha e os retorna e imprime na tela. Readline() retorna a próxima linha do arquivo, que contém um caractere de nova linha no final. Além disso, se o final do arquivo for atingido, ele retornará uma string vazia.linhas de leitura ( ):Lê todas as linhas e as retorna como um elemento string em uma lista. Readlines() é usado para ler todas as linhas de uma só vez e depois retorná-las como um elemento de string em uma lista. Esta função pode ser usada para arquivos pequenos, pois lê todo o conteúdo do arquivo na memória e depois o divide em linhas separadas. Usando a função strip(), podemos iterar sobre a lista e remover o caractere de nova linha ' ' usando a função strip().

Agora vamos entender detalhadamente o conceito de leitura de um arquivo com a ajuda de um exemplo:

Exemplos de leitura de um arquivo em Python:

Exemplo 1:

Lendo um arquivo usando a função 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())) 

A saída do exemplo acima:

Linhas de leitura em Python

Exemplo 2:

importar scanner java

Lendo um arquivo usando a função 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() 

A saída do exemplo acima:

Linhas de leitura em Python

Exemplo 3:

Lendo um arquivo usando um loop for simples:

Neste método, não estamos utilizando a função readline() e nem mesmo a função readlines(), pois já vimos o uso de ambas as funções nos exemplos acima; neste método, usaremos o loop for para imprimir os dados do arquivo. Iremos iterar os objetos do arquivo e ler um arquivo linha por linha, embora estejamos usando algumas funções integradas predefinidas do python. Usando essas funções integradas do Python, podemos iterar facilmente sobre o objeto de arquivo implicitamente usando um loop for, em combinação com o uso do objeto iterável.

 ## 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() 

A saída do exemplo acima:

1 de 1000
Linhas de leitura em Python

Exemplo 4:

Lendo um arquivo usando a instrução 'with':

Se observarmos os 3 exemplos acima, podemos facilmente observar que sempre que o arquivo precisar ser aberto, ele deverá ser fechado; se não fecharmos o arquivo, isso criará vários bugs no programa porque muitas alterações não foram feitas no arquivo ou entrarão em vigor até que não fechemos o arquivo.

Portanto, para superar esse problema, usaremos a instrução 'with', que é usada principalmente no tratamento de exceções em Python, para tornar o código mais claro e muito mais legível. Aqui, neste exemplo, você pode facilmente observar que não estamos usando a função file.close(), repetidamente, para impedir o arquivo, seu uso pode ser feito automaticamente com a instrução. Conseqüentemente, reduz as linhas de código e torna o programa mais rápido para ser executado e implementado com mais eficiência.

 # 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())) 

A saída do exemplo acima:

Linhas de leitura em Python