Manipulação de arquivos
- Para criar arquivos em Python, inicialmente precisamos abrir um arquivo existente ou um novo
- Para isso, utilizamos a função open
- Para trabalhar com arquivos em Python, é necessário primeiro "abrir" o arquivo
- Depois "ler" ou "escrever" neste arquivo
- Finalmente "fechá-lo"
Abrindo arquivos
- Função open:
- Cria novos arquivos
- Abrie arquivos existentes, como leitura ou escrita
- Sintaxe:
- variável = open("file", "modo")
- variável = Nome da variável que vai receber o conteúdo da função open
- file = Nome do arquivo que se quer ler ou escrever.
- modo = Indica o que se quer fazer com o arquivo [ "r" (read), "w" (write)]
- variável = open("file", "modo")
- Exemplo na prática:
var_file = open("arquivo.txt","w")
print(var_file)
open file 'arquivo.txt', mode 'w' at 0x7f775c2ec6f0>
type(var_file)
<type 'file'>
- Pode-se verificar mais um tipo de dado além de int, float, string, lists e dictionaries, o tipo file.
- Ação:
- O arquivo.txt foi criado no modo escrita
- É exibido o endereço do arquivo que se encontra em memória RAM (opcional)
- O tipo da variável "var_file" com a função type() é verificado (opcional).
- Obs:
- Se o arquivo "arquivo.txt" já existisse, ele seria aberto como modo escrita
- Como no exemplo ele não existia, então foi criado como um novo arquivo
- Como Python é uma linguagem orientada a objetos, agora a variável "var_file" é um objeto, e podemos acessar os métodos desse objeto que são os seguintes:
- read(): Retorna uma string única com todo o conteúdo do arquivo.
- readline(): Retorna a próxima linha do arquivo, e incrementa a posição atual.
- readlines(): Retorna todo o conteúdo do arquivo em uma lista, uma linha do arquivo por elemento da lista.
- write(data): Escreve a string data para o arquivo, na posição atual ou ao final do arquivo, dependendo do modo de abertura. Esta função falha se o arquivo foi aberto com modo "r".
- seek(n): Muda a posição atual do arquivo para o valor indicado em n.
- close(): Fecha o arquivo. Sempre utilizado no final da manipulação do arquivo
Lendo um arquivo
- Agora que dados foram criados e gravados, vamos ler um arquivo.
- O método para ler arquivos é read()
- Exemplo:
- O arquivo "info.txt" será lido pelo método read()
$ cat info.txt
- Este é um texto de exemplo... Poderia ser qualquer arquivo texto.
- Ele será lido pelo Python através do método read() da função open.
- Obs:
- O arquivo info.txt é um exemplo, mas pode-se utilizar qualquer arquivo texto.
- No interpretador do Python, digitando os seguintes comandos:
f_texto = open("info.txt", "r")
print f_texto
type(f_texto)
- Ações:
- O arquivo info.txt como aberto em modo leitura
- O endereço do arquivo que se encontra na memória RAM foi exibido (opcional)
- O tipo da variável "info.txt" foi verificado por meio da função type() (opcional)
- Exibindo o conteúdo do info.txt no Python.
- No interpretador do Python, digitando os seguintes comandos:
conteudo_texto = f_texto.read() print conteudo_texto
- Este é um texto de exemplo... Poderia ser qualquer arquivo texto.
- Ele será lido pelo Python através do método read() da função open.
- Agora o conteúdo do arquivo "info.txt" é uma variável e você pode manipular da forma que quiser
- É necessário fechar o arquivo após utilizá0lo
f_texto.close()
- Dica:
- Pode-se utilizar todos os métodos descritos acima, mas nesses dois exemplos houve uma demonstração de como utilizar os métodos write() e read()
- Existem outros métodos disponíveis
Gravando linhas no arquivo
- Exemplo de como escrever uma frase em um arquivo utilizando método write():
var_file.write("Este texto será inserido no novo arquivo que acabamos de criar através do método write do objeto var_file que acabamos de criar ")
- Obs:
- O " " no final serve para inserir quebra de linha no final do texto, como em outras linguagens.
- Após ter escrito no arquivo através do método write(), é necessário fechar o arquivo como o método close()
- Exemplo:
var_file.close()
- Após isso deve-se sair do interpretador Python pressionando Ctrl+d e visualize o arquivo "arquivo.txt" como no exemplo abaixo:
$ cat arquivo.txt
- Este texto será inserido no novo arquivo que acabou de ser criado através do método write do objeto var_file
- O conteúdo do arquivo poderia ser uma string de uma variável ou qualquer outra coisa
- Exemplo:
texto = "Este texto da string será inserido no arquivo arquivo.txt através do método write da função open ."
var_file = open("arquivo.txt","w")
conteudo_texto = var_file.write(texto)
var_file.close()
- Visualizando o arquivo:
$ cat arquivo.txt
- Este texto da string será inserido no arquivo arquivo.txt através do método write da função open