3.1 Criação de arquivo
Arquivos são criados automaticamente ao serem abertos no modo de gravação ('w')
ou adição ('a')
. Se o arquivo já existir, o modo 'w'
sobrescreve seu conteúdo, enquanto o modo 'a'
adiciona dados ao final do arquivo.
Exemplo de criação de arquivo
file = open('example.txt', 'w') # Abre o arquivo para gravação, criando-o se ele não existir
file.write("This is a new file.\n")
file.close()
Neste exemplo, o arquivo example.txt
é criado (se não existir) e uma string "This is a new file.\n"
é gravada nele.
Você pode criar um arquivo completamente vazio — basta abri-lo para gravação e fechá-lo imediatamente.
Exemplo de criação de arquivo vazio
file = open('example.txt', 'w')
file.close()
Observe que, se você abrir para gravação um arquivo existente, todo o seu conteúdo será apagado.
3.2 Gravação em arquivo
Existem dois métodos populares para gravar dados em um arquivo — write()
e writelines()
.
Método write()
O método write()
escreve uma string em um arquivo. Se o arquivo estiver aberto no modo de gravação ('w')
, seu conteúdo será apagado antes de gravar os novos dados. Se o arquivo estiver aberto no modo de adição ('a')
, novos dados serão adicionados ao final do arquivo.
Exemplo de uso do write()
:
# Abertura do arquivo no modo de gravação
file = open('example.txt', 'w')
file.write("Hello, World!\n")
file.write("This is a test file.\n")
file.close()
Método writelines()
O método writelines()
aceita uma lista de strings e grava elas no arquivo. Ele não adiciona automaticamente os caracteres de nova linha, então você precisa incluí-los nas strings.
Exemplo de uso do writelines()
:
lines = ["First line.\n", "Second line.\n", "Third line.\n"]
# Abertura do arquivo no modo de gravação
file = open('example.txt', 'w')
file.writelines(lines)
file.close()
Codificação de arquivo
Você pode especificar a codificação de um arquivo de texto ao ler ou gravar nele. Isso é feito com o uso do parâmetro nomeado encoding
.
Exemplo:
# Abertura do arquivo para gravação com codificação UTF-8
file = open('example_utf8.txt', 'w', encoding='utf-8')
file.write("Texto em russo.\n")
file.write("Mais texto em UTF-8.\n")
file.close()
Vamos discutir diferentes codificações de arquivos e textos mais tarde, mas já é útil saber que esse parâmetro existe e seu uso pode te livrar de muitos problemas.
3.3 Adição de dados em arquivo
Adicionar dados ao final de um arquivo é tão simples quanto gravar dados nele. Você só precisa especificar o modo de adição ('a')
ao abrir o arquivo, e todo o resto acontecerá automaticamente.
Aqui estão alguns exemplos:
Adicionar linhas ao final do arquivo
Este exemplo mostra como abrir um arquivo no modo de adição ('a')
e adicionar algumas linhas ao seu final.
file = open('example.txt', 'a') # Abertura do arquivo para adicionar dados
file.write("This is a new line added to the file.\n")
file.write("Another line is appended.\n")
file.close() # Fechamento do arquivo
Adicionar uma lista de linhas ao final do arquivo
Este exemplo mostra como usar o método writelines()
para adicionar uma lista de linhas ao final do arquivo.
lines = [
"Appending first line from list.\n",
"Appending second line from list.\n",
"Appending third line from list.\n"
]
file = open('example.txt', 'a') # Abertura do arquivo para adicionar dados
file.writelines(lines) # Adicionando lista de linhas
file.close() # Fechamento do arquivo
Adicionar uma linha com especificação de codificação
Este exemplo mostra como abrir um arquivo no modo de adição com especificação de codificação (por exemplo, UTF-8) e adicionar uma linha.
# Abertura do arquivo para adicionar dados com especificação de codificação
file = open('example_utf8.txt', 'a', encoding='utf-8')
file.write("Adicionando linha utilizando UTF-8.\n")
file.write("Outra linha foi adicionada.\n")
file.close() # Fechamento do arquivo
Como você pode ver, é bem simples.
GO TO FULL VERSION