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