Buscar

Python 16 Arquivos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 31 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 31 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 31 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Programação I
Aula 14 – Arquivos
Professor: Francisco Airton
Curso: Sistemas de Informação
Conteúdo
• Arquivos
– Conceitos
– Operações
– Métodos
– Exercícios
2
Arquivos
• Entrada e saída são operações de 
comunicação de um programa com o mundo
externo
• Arquivos?
• Em Python, um arquivo pode ser lido/escrito
através de um objeto da classe file
3
Abrindo Arquivos
• open (name, mode)
–name: nome do arquivo a abrir
–mode: (opcional) modo de abertura – string 
contendo
• r : leitura (default)
• w : escrita (se o arquivo existir terá o conteúdo apagado
• a : escrita a partir do final (não apaga conteúdo)
• r+ : indica leitura e escrita
• b : binário (rb, wb, ab)
4
Exemplo
• O comando open retorna um objeto do tipo file
(arquivo)
• O objeto file é usado para operações de entrada e 
saída:
>>> arq = open ("teste.txt", "w")
>>> arq.write ("Oi")
>>> arq.close ()
>>> arq = open ("teste")
>>> x = arq.read()
>>> x
'Oi'
5
Open
>>> f = open(‘texto.txt','w')
>>> f.write('Ola Mundo!')
• Não devemos esquecer de fechar o arquivo:
>>> f.close()
6
Métodos Read, Write e Close
• read(num)
– Lê num bytes do arquivo e os retorna numa string
– Se num não é especificado, todos os bytes desde 
o ponto atual até o fim do arquivo são retornados
7
Métodos Read, Write e Close
• write(string)
– Escreve string no arquivo
– Devido ao uso de buffers, a escrita pode não ser 
feita imediatamente
• Use o método flush() ou close() 
para assegurar a escrita física
• close()
– Termina o uso do arquivo para operações de leitura 
e escrita
8
ExemploRead
>>> f = open(‘texto.txt',‘r‘)
>>> ler = f.read()
>>> f.close()
>>> print ler
Ola Mundo!
• Metodo read() usado sem nenhum 
argumento, mostrará tudo que esta no 
aquivo
9
ExemploRead
• Se quisermos ler apenas os três primeiros 
caracteres (bytes), podemos usar da seguinte 
maneira:
>>> f = open(‘texto.txt’) # r é default
>>> ler = f.read(3)
>>> f.close()
>>> print ler
Ola
10
ExemploRead
• e caso queira ler o restante, o read() começará de 
onde parou:
>>> restante = f.read()
>>> print restante
Mundo!
11
Fim de Linha
• Arquivos de texto são divididos em linhas
usando caracteres especiais
• Python usa sempre \n para separar linhas
12
Lendo e Escrevendo Linhas
• readline(n)
– Se n não é especificado, retorna exatamente uma
linha lida do arquivo
– Caso contrário, lê uma linha, mas busca no 
máximo n caracteres pelo final de linha
13
Lendo e Escrevendo Linhas
• readlines(n)
– Se n não é especificado, retorna o restante do 
conteúdo do arquivo em uma lista de strings 
– Caso n seja especificado, a leitura é limitada a n
caracteres no máximo
14
Lendo e Escrevendo Linhas
• writelines(lista)
– Escreve a lista (ou qualquer seqüência) de strings, 
uma por uma no arquivo
15
Exemplos
• adicionar mais alguma coisa no arquivo do 
exemplo:
>>> f = open(‘texto.txt’, ‘a‘)
>>> f.write('\nOla Python')
>>> f.close()
• o 'a' (append) é usado para adicionar texto sem 
apagar o que ja havia no arquivo
• '\n' é usado pra pular uma linha, lembrando 
que tudo é string ( este caractere fica visível)
16
Exemplos
>>> f = open(‘texto.txt',‘r‘)
>>> linha1 = f.readline()
>>> linha2 = f.readline()
>>> f.close()
>>> print linha1
Ola Mundo!\n
>>> print linha2
Ola Python
17
Exemplos
18
Resumo
operação Interpretação
output = open(“c:/teste.txt”,”w”) Cria arquivo de saída (“w” significa gravação)
input = open(“c:/teste.txt”,”r”) Cria arquivo de entrada (“r” significa leitura)
S = input.read() Lê o arquivo inteiro em uma única string
S = input.read(N) Lê N byte (1 ou mais)
S = input.readline() Lê a próxima linha
L = input.readlines() Cria uma lista onde cada elemento é uma linha 
do arquivo
output.write(S) Grava a string S no arquivo
output.writelines(L) Grava no arquivo todas as strings da lista L
output.close() Fechamento manual do arquivo
19
Método seek()
• Muda a posição do cursor no arquivo
• f.seek(deslocamento, ref)
• A nova posição é computada adicionando o 
deslocamento ao ponto de referência
• O ponto de referência é determinado pelo
parâmetro ref que pode ser:
– 0 (default): deslocar a partir do início do arquivo
– 1 deslocar a partir da posição atual e
– 2 usar o final do arquivo como ponto de referência
20
Método seek()
• Exemplos
21
Interação com o Sistema 
Operacional
• Operações de entrada e saída são na verdade
realizadas pelo sistema operacional
• O módulo os possui variáveis e funções que
ajudam um programa Python a se adequar ao
sistema operacional
22
Interação com o SO
>>>os.getcwd()
retorna o diretório corrente
>>>os.chdir(dir)
muda o diretório corrente para dir
>>>os.sep
string com o caractere que separa componentes de 
um caminho ('/' para Unix, '\\' para
Windows)
>>>os.path.exists(path) 
diz se path se refere ao nome de um arquivo
existente 23
Exemplos
24
EXERCÍCIOS
25
Exercícios
1. Escreva um programa que lê um arquivo contendo a 
identidade e o nome de várias pessoas, no seguinte 
formato
5384423 Manoel
4345566 Alberto
3235574 Mariana
...
o programa deve gerar um dicionário onde as chaves 
são as identidades e os valores os nomes. Ao final o 
programa deve exibir o dicionário.
26
Exercícios
2. Escreva um programa que lê um arquivo contendo 
endereços IPs, da seguinte forma: 
200.135.80.9 
192.168.1.1 
8.35.67.74 
257.32.4.5 
85.345.1.2 
1.2.3.4 
9.8.234.5 
192.168.0.256
• O programa deve mostrar os IPS indicando os que 
são validos e inválidos (um endereço ip válido não 
pode ter uma de suas partes maior que 224).
27
Exercícios
3. Crie um programa que lê um dicionário que 
é uma agenda contendo várias ocorrências 
dos seguintes dados: chave, nome, idade, 
telefone. O programa deve escrever todos os 
itens do dicionário em um arquivo no 
seguinte formato chave: nome-idade-fone.
28
Exercícios
4. Faça um programa que leia um número qualquer de
notas em um arquivo. Após a leitura dos dados, faça
o seguinte:
– Mostre a quantidade de notas que foram lidas.
– Exiba todas as notas na ordem em que foram
informadas.
– Exiba todas as notas na ordem inversa à que
foram informadas, uma abaixo do outra.
– Calcule e mostre a soma das notas.
– Calcule e mostre a média das notas.
– Calcule e mostre a quantidade de notas acima da
média calculada. 29
Exercícios
5. Inicialize uma lista de 20 números inteiros. 
Armazene os números pares em uma lista PAR 
e os números ímpares em uma lista IMPAR. 
Salve as listas PAR e IMPAR em um arquivo.
6. Faça um programa que leia a temperatura 
média de cada mês do ano em um arquivo e 
armazene-as em uma lista. Em seguida, calcule 
a média anual das temperaturas e mostre a 
média calculada juntamente com todas as 
temperaturas acima da média anual, e em que 
mês elas ocorreram (mostrar o mês por 
extenso: 1 – Janeiro, 2 – Fevereiro, . . . ). 30
Bibliografia
 Livro “Como pensar como um Cientista de Computação 
usando Python” – Capítulo 11
 http://pensarpython.incubadora.fapesp.br/portal
 Python Tutorial
 http://www.python.org/doc/current/tut/tut.html
 Dive into Python
 http://www.diveintopython.org/
 Python Brasil
 http://www.pythonbrasil.com.br/moin.cgi/Documentaca
oPython#head5a7ba2746c5191e7703830e02d0f532834
6bcaac
31

Continue navegando