Ler e gravar em um arquivo para armazenamento ou uso posterior são tarefas comuns na programação. Python tem diversas maneiras de trabalhar com arquivos, mas focaremos especialmente na gravação em arquivos de texto. Arquivos de texto são usados para armazenar dados de texto simples, e Python simplifica para os programadores a leitura e gravação de dados em arquivos de texto.
Neste tutorial, explicaremos como os usuários podem escrever em um arquivo de texto usando Python.
Python possui uma função embutida para criar, escrever ou ler os arquivos. Ele pode lidar com dois tipos de arquivos, arquivos de texto normais e arquivos binários. A escolha entre esses dois depende dos dados nos quais você está trabalhando e dos requisitos do aplicativo.
Sintaxe para abrir um arquivo em Python:
# Method 1: file = open (path_to_the_file, mode) # Manually required to close the file `file.close()` to ensure that # changes made are saved, and system resources are freed up. # Method 2: with open (path_to_the_file, mode) as file: # It automatically closes the file properly # after the block code is executed.
A função open() pode aceitar vários parâmetros. Mas o usuário tem que focar nos dois primeiros:
Para escrever em um arquivo texto, o usuário utilizará o seguinte modo:
Modo | Descrição |
---|---|
'Em' | É usado para abrir o arquivo de texto para escrever texto. O arquivo é truncado neste modo significa que o conteúdo existente do arquivo é excluído. |
'a' | É usado para abrir o arquivo de texto para anexar texto. O ponteiro é posicionado no final do arquivo e novos dados são anexados ao conteúdo existente. |
Exemplo: para mostrar como um usuário pode escrever em um arquivo de texto usando Python
file.write(' ') file.writelines(' ')
Fica totalmente a critério do usuário se deseja adicionar o texto na linha seguinte ou não.
linguagem bacana
Exemplo 2: Para mostrar como usar a função write() para escrever a lista de textos no arquivo de texto
# Method 1 - Simple Approach file = open ('writeme.txt', 'w') file.write('writeme') file.close() # Method 2 - Using the 'with' keyword to open a file with open ('writeme.txt', 'w') as file: file.write('writeme')
Saída:
Ambos os métodos dão o mesmo resultado.
Etapas para escrever em um arquivo de texto em Python:
Para escrever no arquivo de texto usando Pitão , o usuário deve seguir os seguintes passos:
Passo 1 - Abra o arquivo - Para começar a escrever em um arquivo de texto, primeiro precisamos abri-lo usando a função open() integrada, que recebe dois parâmetros: o nome do arquivo (incluindo o caminho se o arquivo não estiver no diretório atual) e o modo em qual queremos abrir o arquivo. No caso de escrever em um arquivo de texto, podemos usar o modo 'w', que significa modo de gravação, ou o modo 'a', que significa modo de acréscimo. Se o arquivo não existir, o Python criará um novo arquivo com o nome fornecido.
# Opening a file 'example.txt' file = open('example.txt', 'w')
A função open() retornará um objeto de arquivo, e esse objeto de arquivo terá duas funções úteis para escrever texto nele:
- escrever()
- linhas de escrita()
A função write() é usada para escrever a string no arquivo de texto, e a função writelines() é usada para escrever a lista de strings no arquivo de uma vez.
A função writelines() também pode aceitar o objeto iterável. O usuário também pode passar a tupla de strings, o conjunto de strings, etc.
Para escrever na próxima linha, o usuário deve adicionar manualmente o caractere de nova linha.
Passo 2 - Escreva no arquivo: Assim que o arquivo for aberto no modo de gravação, podemos usar a função write() ou a função writelines() para escrever nele. O método write() usa uma string como parâmetro que queremos escrever no arquivo. Podemos escrever várias linhas chamando a função write() várias vezes ou usando caracteres de nova linha ( ) entre strings para separar as linhas.
# Using the 'write' function file.write('This is the first line. ') file.write('This is the second line. ') # Using the 'writelines' function file.writelines('This is the first line. This is the second line. ')
Passo 3 - Feche o arquivo: O usuário pode fechar o arquivo de texto usando a função close(). Depois de escrever o conteúdo desejado no arquivo, é importante fechá-lo corretamente. Fechar o arquivo garante que todas as alterações sejam salvas e que os recursos do sistema sejam liberados.
# Closing the file file.close()
Exemplo 2: Para mostrar como os usuários podem adicionar um caractere de nova linha em um arquivo txt
file.write(' ') file.writelines(' ')
Fica totalmente a critério do usuário se deseja adicionar o texto na linha seguinte ou não.
caixa de listagem html
Exemplo 3: Para mostrar como usar a função write() para escrever a lista de textos ou strings em um arquivo de texto
# Creating a list of strings lines_1 = [ 'This is an example', 'to show how a user can write in a text file using Python'] with open('text.txt', 'w') as file: # Iterating over each element of the list for line_1 in lines_1: file.write(line_1) # Adding the line to the text.txt file.write(' ') # Adding a new line character
Saída:
Explicação:
No exemplo acima, primeiro criamos uma lista de strings chamada linhas_1 e, em seguida, abrimos esse arquivo usando a função open() com a instrução 'with'. Em seguida, usamos um loop for para iterar sobre os elementos da lista, seguido de escrever a linha e adicionar um novo caractere de linha ao arquivo. Um novo caractere de linha é adicionado no final do loop for e o ponteiro é posicionado na próxima linha.
Se o arquivo text.txt não existir na pasta, a função open() criará o novo arquivo e as operações serão executadas de acordo.
Exemplo 4: Para mostrar como os usuários podem escrever a lista de strings de texto no arquivo text.txt usando a função writelines():
# Creating a list of strings lines_1 = [ 'This is an example ', 'to show how a user can write in a text file using writelines() function in Python.'] # Opening the text.txt file with open('text.txt', 'w') as file: # Using the writelines() function file.writelines(lines_1)
Saída:
Explicação:
No exemplo acima, a função writelines() escreve cada elemento da lista em uma única linha do arquivo.
Se o usuário tratar cada elemento da lista como uma linha, ele deverá vinculá-lo a um novo caractere de linha.
Exemplo 4: Para mostrar como um usuário pode vincular o caractere de nova linha a cada elemento da linha no arquivo text.txt
Já vimos no exemplo número 3 como podemos adicionar um novo caracter de linha após cada elemento da lista. Ao usar a função writelines(), devemos adicionar um novo caractere de linha na string.
# Creating a list of strings lines_1 = [ 'This is an example ', 'to show how a user can link a new line character ', 'with each element of the list. '] # Opening the text.txt file with open('text.txt', 'w') as file: # Using the writelines function file.writelines(lines_1)
Saída:
Explicação:
No exemplo acima, a função writelines() grava o elemento da lista no arquivo text.txt, onde cada elemento da lista termina com um caractere de nova linha.
Conclusão
Neste tutorial explicamos como um usuário pode escrever textos em um arquivo de texto usando Python e suas diferentes funções. Aprendemos primeiro sobre arquivos de texto normais e binários, seguido pela sintaxe de como abrir um arquivo. Também examinamos a diferença entre 'w' (modo de gravação) e 'a' (modo de acréscimo). Em seguida, aprendemos sobre as etapas para escrever em um arquivo de texto em Python e implementamos vários exemplos para entender os diferentes métodos de escrita em um arquivo de texto.