0% acharam este documento útil (0 voto)
44 visualizações26 páginas

Aula 22

Enviado por

Tiago Cavalcanti
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
44 visualizações26 páginas

Aula 22

Enviado por

Tiago Cavalcanti
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Fundamentos de

Programação
Prof.ª Carol Melo
Objetivo da Aula

✔ Manipulação de Arquivo;

✔ Parte Prática.
Professora: Turma A
E-mail: accm4@cesar.school
Slack: @Carol Melo Código da Turma

Tutor: p2s7kbe
E-mail: mvt@cesar.school
Slack: @Mateus Valgueiro
Turma B
Monitores: Código da Turma
Slack: Ana Beatriz (81) 99286-7651
s4i24lu
Slack: André Luiz (81) 99124-8016
Slack: Arthur Padilha (81) 99124-8016
Slack: Gabriel Chaves (81) 99789-0110
Slack: Henrique Cordeiro (81) 98759-4540
Avisos

Monitorias:
Monitoria Turma A: Quarta-feira às 15h na sala 05 do BRUM com Henrique
Cordeiro, Ana Alves e Gabriel Chaves;
Monitoria Turma B: Segunda-feira às 15h na sala 05 do BRUM com Arthur
Padilha e André Luiz;
Você pode participar da monitoria da outra turma.
Cronograma

18/05: Aula de Arquivo

23/05: Tratamento de Exceção e Lista de Exercícios 07

25/05: Apresentação dos Trabalhos

30/05: Prova
Tipo de Arquivos

1. Texto simples
a. Alfanumérico
b. Formatado em linhas
c. Cada linha termina com um EOL (End of Line) normalmente “\n”
d. Ex: .txt .csv .xml

2. Binários
a. Arquivos que não são texto plano
b. Apenas programas que sabem a sua estrutura conseguem processá-los
c. Ex: .xlsx .pdf .jpg .png
Processamento de Arquivos

1. Open - Abrir
a. O primeiro passo é abrir um arquivo, abrir pode significar criar.
2. Read/Write - Ler/Escrever
a. O segundo passo é fazer a operação que se quer fazer, ler ou
escrever.
3. Closed - Fechar
a. Lembre-se sempre de fechar o arquivo, um arquivo não fechado pode
se tornar inacessível por outro programa ou usuário e em alguns
casos extremos, (desligamento do computador) pode tornar o
arquivo corrompido.
Abertura de Arquivos

Modo de abertura de arquivos: um arquivo pode ser aberto com


um dos seguintes modos:

• r: apenas leitura (opção padrão);


• r+: leitura e escrita;
• w: apenas escrita. Se não existir, cria arquivo vazio.
Se existir, conteúdo original é descartado;
• a: acréscimo (append). Apenas escrita. Grava a partir do fim.
Se não existir, cria arquivo vazio.
Cursor de arquivo (Pointer)

•Toda vez que um arquivo é aberto o python coloca um cursor em


alguma posição do arquivo , dependendo do modo de abertura.

Ex: no modo de append ("a") o cursor é posicionado no final do


arquivo

•Após leituras e escritas, o cursor se move dentro do arquivo


Cursor de arquivo (Pointer)
Cursor de arquivo (Pointer)

•Métodos para ler e manipular cursores de arquivos:


○ .tell(): retorna a posição atual do cursor, em número de
bytes

○ .seek(offset, whence = 0):


■ Offset : a quantidade de bytes que o cursor deve andar
■ Whence: Define a partir de onde o offset vai ser
contado. Pode ser do começo do arquivo (default), da
posição atual ou relativo ao final do arquivo.
Escrita de Arquivos

● Para escrever em um arquivo de texto, este precisa ser aberto para escrita:
○ manipulador = open('arquivo.txt', 'w')
● Se não houver um arquivo arquivo.txt no diretório de trabalho ativo, a
função open() o criará.
● Se o arquivo arquivo.txt já existir, seu conteúdo será apagado.
● Nos dois casos, o cursor apontará para o início do arquivo (vazio).
● Se quiséssemos acrescentar mais conteúdo ao arquivo (existente),
usaríamos o modo 'a' no lugar de 'w'.
Escrita de Arquivos

Para realizar a escrita em arquivos, vamos utilizar:

• write(): grava uma string no arquivo por vez.

•writelines(): recebe um objeto iterável (seja uma lista, uma tupla,


um dicionário, etc). Com este método, várias linhas poderão ser inseridas no
arquivo de uma vez.
Exemplo 1 – Write()

Não precisa criar o arquivo .txt antes, usando o comando "w" ao executar o
código, o python gera automaticamente.
Exemplo 2 – Write()

Arquivo e função.
Exemplo 3 – Write()

Ao utilizar o comando "a" estamos adicionando novas informações ao


arquivo, sem excluir as anteriores. Funciona semelhante ao append.
Exemplo 4 – Writelines()

Adicionando uma lista de valores.


Vamos Praticar?

Desenvolva uma função na qual tenha como parâmetro a quantidade de


pessoas que serão cadastradas no arquivo “dados.csv”, o qual deverá ser
aberto na função para escrita. Cadastre o nome e o sobrenome das pessoas.

Além disso, no programa principal exiba todos os dados na tela, e


separadamente, todas as pessoas que possuem “Santos” como um dos seus
nomes.
Questão 2540 do Beecrowd - Impeachment

“A entrada termina com fim-de-arquivo (EOF)”


Duas possíveis resoluções:

1) Gerando uma exceção 2) usando stdin como arquivo

try: Import sys


Input_str = sys.stdin.read()
#todo o código de vocês

except EOFError:
break
Vamos Praticar?

Faça um programa para cadastrar N pessoas.


O usuário deverá informar o valor de N
nomes, N sobrenomes e N idades, em três
listas.

Um arquivo deve ser gerado.

A primeira linha deve informar quantas


pessoas estão cadastradas.

A partir da segunda linha do arquivo, deverá


conter o nome completo e a idade da pessoa.
Vamos Praticar?

Crie um programa simples que pergunta se a pessoa deseja ler um arquivo


ou escrever algo nele. Nosso script vai funcionar assim:
Aparece um menu de opções (sair, ler ou escrever).
Se digitar ler, lê o conteúdo do arquivo e exibe na tela.
Se optar por escrever, escreve algo no arquivo.

Tarefa extra: inicialmente verifique se o arquivo “teste.txt” já existe. Se não,


emita a mensagem “Arquivo não existe”, e na sequência o crie.
Dúvidas? Frequência

Você também pode gostar