1.1 Abrindo um arquivo
Trabalhar com arquivos em Python é muito de boa, porque é bem simples e intuitivo. Aqui a gente não tá falando sobre criar ou mover arquivos no disco, mas sim sobre ler e escrever o conteúdo dos arquivos.
Trabalhar com o conteúdo de um arquivo geralmente segue este esquema:
Abrindo um arquivo
Trabalhando com os dados do arquivo
Fechando o arquivo
Exemplo de leitura de todo o conteúdo de um arquivo:
file = open('example.txt', 'r')
content = file.read()
print(content)
file.close()
A função open é usada para abrir um arquivo. Ela recebe dois argumentos principais: nome do arquivo e modo de acesso. A função retorna um objeto arquivo, que pode ser usado para realizar operações de leitura e escrita.
Exemplo:
file = open('example.txt', 'r')
Se você informar apenas o nome do arquivo, ele será procurado no diretório de trabalho atual do programa. Se você fornecer o nome completo do arquivo, ele será acessado pelo caminho especificado.
1.2 Modos de acesso
O segundo parâmetro da função open() indica o modo de operação com o arquivo. Os modos de acesso determinam quais operações podem ser realizadas com o arquivo (leitura, escrita, etc.).
Aqui estão os principais modos de acesso:
Read— leitura.Write— escrita.Append— adição.
Existem algumas variações desses modos:
- 'r': Abrir o arquivo para leitura (modo padrão). O arquivo deve existir.
- 'w': Abrir o arquivo para escrita. O conteúdo do arquivo será apagado. Se o arquivo não existir, ele será criado.
- 'a': Abrir o arquivo para adição. Os dados serão adicionados no fim do arquivo. Se o arquivo não existir, ele será criado.
- 'r+': Abrir o arquivo para leitura e escrita. O arquivo deve existir.
- 'w+': Abrir o arquivo para leitura e escrita. O conteúdo do arquivo será apagado. Se o arquivo não existir, ele será criado.
- 'a+': Abrir o arquivo para leitura e adição. Os dados serão adicionados no fim do arquivo. Se o arquivo não existir, ele será criado.
Exemplo de escrita em um arquivo:
Se você quiser escrever dados em um arquivo, basta especificar w como o modo de acesso ao abrir o arquivo. Lembrando que todo o conteúdo antigo do arquivo será apagado!
file = open('example.txt', 'w')
file.write("Hello, World!")
file.close()
Exemplo de adição em um arquivo:
Se você não quiser apagar o conteúdo do arquivo, mas só adicionar algo no final, então você deve especificar a como o modo de acesso ao arquivo.
file = open('example.txt', 'a')
file.write("\nAppended text.")
file.close()
Importante! Se você escrever em um arquivo e ele ainda não existir, ele será criado automaticamente. Mas se você tentar ler dados de um arquivo inexistente, vai dar exceção.
1.3 Fechando um arquivo
Toda vez que você abre um arquivo, o sistema operacional verifica suas permissões de acesso ao arquivo e marca ele como usado pelo seu programa. Para trabalhar com um arquivo é alocado um recurso especial — handler.
A quantidade de handlers que seu programa pode obter é limitada. Isso significa que você pode manter abertos apenas algumas centenas de arquivos ao mesmo tempo. Parece muito, mas se seu programa funciona em um servidor por meses e todos os dias lê e escreve em arquivos, você rapidamente atinge esse limite.
Portanto, após terminar de trabalhar com um arquivo, ele deve ser fechado — chamando o método close(). Assim, você avisa ao sistema operacional que não precisa mais desse arquivo e que o handler não é mais necessário.
Fechando um arquivo
Depois de terminar de trabalhar com um arquivo, é importante fechá-lo para liberar os recursos do sistema. Para isso, utiliza-se o método close().
file = open('example.txt', 'r')
# Executando operações com o arquivo
file.close()
Cada arquivo que você abriu para leitura ou escrita deve ser fechado. Não esqueça de chamar o método close().
GO TO FULL VERSION