Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
INTRODUÇÃO À COMPUTAÇÃO B
OLIBÁRIO J M NETO
olibarioneto@gmail.com
Manipulação de arquivos
Escrita de dados
Leitura de dados
SUMÁRIO
MANIPULAÇÃO DE ARQUIVOS
• Objetivos
– Escrever dados da memória RAM para o disco
– Ler dados do disco para a memória RAM
– Processar dados em RAM e atualizá-los no disco
MANIPULAÇÃO DE ARQUIVOS
• Manipulação de arquivos
–Até o momento
• Não guardamos dados
• Tudo fica na memória RAM
• Ao encerrar o programa, perdemos os dados
lidos
–Solução
• Armazenar dados em disco
–Armazenamento permanente
MANIPULAÇÃO DE ARQUIVOS
• Processo usual
– Programa .py precisa estar salvo em um diretório
para executar
– Por padrão, arquivos são salvos no mesmo
diretório do programa, porém é possível
especificar qualquer diretório para salvar arquivos
– Arquivo deve ser aberto para leitura/ escrita pelo
comando open
arq = open(‘meuarquivo.txt’,’w’)
MANIPULAÇÃO DE ARQUIVOS
• Método open
arq = open(<nome_arquivo>,<modo>)
– Nome do arquivo
• Nome do arquivo, juntamente com seu local (caminho)
e extensão (.txt, .json, .xml, .html, etc.)
– Modos principais
• Escrita (‘w’, do inglês ‘write’)
• Leitura (‘r’, do inglês ‘read’)
Ex.:
arq = open(‘telefones.txt’,’w’)
arq = open(‘Documentos/Aulas/notas.txt’,’r’)
MANIPULAÇÃO DE ARQUIVOS
• Exercício 1
– Escrever o texto abaixo em um arquivo-texto com
nome à sua escolha.
• Exercício 2
– Tente escrever o texto abaixo no mesmo arquivo
do exercício anterior.
• O que acontece?
• Leitura de dados
– Processo de usar os dados do arquivo como
entrada para um algoritmo
– Acesso por meio da função open
• Modo leitura: ‘r’
arq = open(‘meuarquivo.txt’,’r’)
MANIPULAÇÃO DE ARQUIVOS
• Leitura de dados
– Função read() retorna o conteúdo de todo o
arquivo
– Arquivo é fechado após o uso
arq = open(‘meuarquivo.txt’,’r’)
texto = arq.read()
print(texto)
arq.close()
MANIPULAÇÃO DE ARQUIVOS
arq = open(‘meuarquivo.txt’,’a’)
arq.write(‘\nÚltima linha’)
arq.close()
Código faz o mesmo que o anterior.
E se quiséssemos adicionar o
conteúdo ao início do arquivo?
MANIPULAÇÃO DE ARQUIVOS
• Exercício 3
– Crie um menu para perguntar se o usuário deseja
sobrescrever o conteúdo do arquivo ou adicionar
um novo conteúdo ao arquivo. Implemente as
funcionalidades adequadamente.
Ex.:
Sair
MANIPULAÇÃO DE ARQUIVOS
• Exercício 3
– Crie um menu para perguntar se o usuário deseja
sobrescrever o conteúdo do arquivo ou adicionar
um novo conteúdo ao arquivo. Implemente as
funcionalidades adequadamente.
• Como permitir a leitura de quebra de linhas?
Ex.:
Sair
MANIPULAÇÃO DE ARQUIVOS
• Leitura de dados
– Função readlines() retorna o conteúdo do arquivo em
uma lista
• Cada linha é um elemento da lista
– Arquivo é fechado após o uso
arq = open(‘meuarquivo.txt’,’r’)
texto = arq.readlines()
for linha in texto:
print(linha)
arq.close()
MANIPULAÇÃO DE ARQUIVOS
Contatos.txt
Contatos.txt
• Função split(<padrao>)
– Procura pelo padrão na string, separa as substrings, excluindo-
se o padrão e coloca cada substring em uma posição de uma
lista
MANIPULAÇÃO DE ARQUIVOS
• Exercício 4
Seguindo a estratégia 3, exiba os nomes, fones e emails,
um abaixo do outro.
Resposta:
MANIPULAÇÃO DE ARQUIVOS
• Notas
– Existem inúmeras maneiras de representar dados em
arquivos
– Buscar dados em disco pode ser milhares de vezes mais
lento que buscar dados em RAM. Portanto, devemos
evitar acessos constantes a discos
– Algumas estratégias de representação são
extremamente eficientes, mas não são foco desta
disciplina
– A abordagem de usar um caractere especial para indicar
que o registro foi removido pode ser usado em qualquer
das estratégias explicadas nesta aula.
• Em Computação, chamamos este caractere especial de flag
MANIPULAÇÃO DE ARQUIVOS