| Linha 128: | Linha 128: | ||
* 1. Método readlines | * 1. Método readlines | ||
** O arquivo "tarefas.txt" será lido pelo método ''' | ** O arquivo "tarefas.txt" será lido pelo método '''readlines()''' | ||
readarq = open("/home/lclaudio/minhaequipe.doc","r") | |||
print(readarq) | |||
type(readarq) | |||
# Lendo e imprimindo todo o arquivo | |||
texto = readarq.readlines() | |||
print(texto) | |||
readarq.close() | |||
<br> | |||
* Resultado: Uma lista com todos os itens | |||
['Alez Vaz Mendes\n', 'Lucas Guandalini Marchesoni\n', 'Luiz Cláudio Theodoro\n', 'Murilo Borges Gomes Machado\n', 'Pedro Aparecido Damaso de Melo\n', 'Rafael Leonardo Aquino\n', 'Rogério de Freitas\n'] | |||
<br> | |||
readarq = open("/home/lclaudio/minhaequipe.doc","r") | readarq = open("/home/lclaudio/minhaequipe.doc","r") | ||
print(readarq) | print(readarq) | ||
type(readarq) | type(readarq) | ||
texto = readarq.readlines() | # Lendo todo o arquivo e imprimindo item a item | ||
print(texto) | texto = readarq.readlines() | ||
for i in range(0,len(texto)): | |||
print(texto[i]) | |||
readarq.close() | readarq.close() | ||
* Ações: | * Ações: | ||
Edição das 23h09min de 26 de maio de 2016
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:
- 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".
- close()
- Fecha o arquivo. Sempre utilizado no final da manipulação do arquivo
- 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
- seek(n)
- Muda a posição atual do arquivo para o valor indicado em n
- write(data)
Gravando linhas no arquivo
- Exemplo de como escrever uma frase em um arquivo utilizando método write():
newfile = open("/home/lclaudio/arquivo1.txt","w")
newfile.write("casa")
newfile.write("bola")
newfile.write("dado")
newfile.write("faca")
newfile.write("gato")
newfile.close()
- Após ter escrito no arquivo através do método write(), é necessário fechar o arquivo como o método close()
- Exemplo:
newfile.close()
- Abra o arquivo gerado e verifique o conteúdo:
- Linux: comando cat nomearquivo
- Windows: abra com Bloco de Notas
- Pode-se ver:
- casaboladadofacagato
- Agora, executando a seguinte sequência:
- casa
- bola
- dado
- faca
- gato
- O \n serve para definir a quebra de linha
- Dessa forma, dados podem ser gravados num arquivo e poderão ser armazenados após comando close
Exercícios
- Crie os arquivos abaixo com os conteúdos sugeridos e verifique se a gravação ocorreu como desejado:
- Arquivo minhaequipe.doc com os nomes dos integrantes
- Arquivo tarefas.txt com 10 atividades do dia
- Arquivo compras com 15 itens de compra
- Arquivo library.csv com o nomes de pelo menos 8 livros que leu este ano
- Arquivo gentileza com 30 nomes de pessoas que agradou nos últimos tempos
Lendo um arquivo
- Agora que dados foram criados e gravados, vamos ler um arquivo.
- Modos para ler arquivos:
- readlines()
- readlines()
- read()
- 1. Método readlines
- O arquivo "tarefas.txt" será lido pelo método readlines()
readarq = open("/home/lclaudio/minhaequipe.doc","r") print(readarq) type(readarq)
- Lendo e imprimindo todo o arquivo
texto = readarq.readlines()
print(texto)
readarq.close()
- Resultado: Uma lista com todos os itens
['Alez Vaz Mendes\n', 'Lucas Guandalini Marchesoni\n', 'Luiz Cláudio Theodoro\n', 'Murilo Borges Gomes Machado\n', 'Pedro Aparecido Damaso de Melo\n', 'Rafael Leonardo Aquino\n', 'Rogério de Freitas\n']
readarq = open("/home/lclaudio/minhaequipe.doc","r")
print(readarq)
type(readarq)
# Lendo todo o arquivo e imprimindo item a item texto = readarq.readlines() for i in range(0,len(texto)): print(texto[i]) readarq.close()
- 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 "minhaequipe.doc" 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:
readarq = open("/home/lclaudio/minhaequipe.doc","r")
print(readarq)
type(readarq)
texto = readarq.readline()
print(texto)
readarq.close()
- Repare que foi impressa apenas a primeira linha
- Outra execução:
readarq = open("/home/lclaudio/minhaequipe.doc","r")
print(readarq)
type(readarq)
texto = readarq.readlines()
print(texto)
readarq.close()
- Interessante que neste caso, apareceram todas as linhas montadas num vetor e contendo a quebra de linha \n