Arquivos. Prof. Alberto Costa Neto Programação em Python

Documentos relacionados
Arquivos. Prof. Alberto Costa Neto Programação em Python

Trabalhando com Arquivos

Python: Entrada e Saída. Claudio Esperança

Arquivos O QUE É, COMO LER E MANIPULAR

Aplicações de Dicionários. Prof. Alberto Costa Neto Programação em Python

Arquivos. Introdução à Programação SI1

Dicionários. Prof. Alberto Costa Neto Programação em Python

Entrada e saída. Marco A L Barbosa malbarbo.pro.br. Departamento de Informática Universidade Estadual de Maringá

Programação I Aula 13 Manipulação de ficheiros

9/24/2014. Prof. André Backes

Organização de programas em Python. Vanessa Braganholo

16:20:29. Introdução à Informática com Software Livre

TCC 00308: Programação de Computadores I Organização de programas em Python

Python 3.x Estrutura de Repetição while

1/ 26. Computação 1 - Python Aula 1 - Prática: Primeiros Passos - Função

Comandos de Entrada e Saída. Prof. Alberto Costa Neto Programação em Python

MCG114 Programação de Computadores I. Strings. Strings. Strings. Strings. Strings 3/26/18. Profa. Janaína Gomide

Introdução à Programação Aula 13 Manipulação de ficheiros

Computação I - Python Aula 1 - Prática: Primeiros Passos- Função

Listas, conjuntos e dicionários

MC-102 Aula 11 Strings

Listas. Prof. Alberto Costa Neto Programação em Python

Computação 1 - Python Aula 10 - Teórica: Estrutura de Dados - Dicionário. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 18

1/ 23. Computação 1 - Python Aula 1 - Prática: Primeiros Passos - Função

Operações com Arquivos

Computadores e Programação Engª Biomédica Departamento de Física Faculdade de Ciências e Tecnologia da Universidade de Coimbra Ano Lectivo 2003/2004

Funções. Prof. Alberto Costa Neto Programação em Python

Laboratório de Programação 1 Aula 04

Linguagem Python. Processamento Estatístico da Linguagem Natural. Barra invertida em strings. Strings. Aspas triplas. Operações com Strings

A Linguagem Python: Uma visão geral. Prof. Alberto Costa Neto Programação em Python

Linguagem Python. Inteligência Artificial. Características de Python. Importando módulos. Módulos. Usando Python no modo interativo

Ambiente de Programação, rastreamento e entrada de dados. MCG114 Programação de Computadores I. Interpretador de Comandos. Interpretador de Comandos

PROGRAMAÇÃO DE COMPUTADORES

Usos do Laço For. Prof. Alberto Costa Neto Programação em Python

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?

Principais Idiomas de Laços. Prof. Alberto Costa Neto Programação em Python

Arquivos em C. Material da Prof. Ana Eliza

Aula passada. Aula passada... Sequências Funções puras e modificadores. Listas Tuplos

Introdução à Programação / Programação I

Passo-a-passo para desenvolver um Programa usando a Linguagem Python

Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012

1 Expressões, valores e tipos 1. 2 Variáveis e atribuições 5. cálculo de expressões segue a estrutura de parênteses e as prioridades dos operadores

MC-102 Aula 02 Shell Interativa, Programa Básico, Variáveis, Atribuições, Tipos Simples. Instituto de Computação Unicamp

Faculdade de Computação

Linguagem de Programação C. Arquivos

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string

Listas e Tuplas. Vanessa Braganholo

Computação II MAB EE2/ET2/ER2. Manipulação de Arquivos. Brunno Goldstein.

Vetores. Vanessa Braganholo

MCG126 Programação de Computadores II

Computadores e Programação Engª Biomédica Departamento de Física Faculdade de Ciências e Tecnologia da Universidade de Coimbra Ano Lectivo 2005/2006

Computação II MAB EPT/EP1. Manipulação de Arquivos. Brunno Goldstein.

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

Programação I Aula 17 Correção de programas Pedro Vasconcelos DCC/FCUP

Preparação para Maratona de Informática PYTHON

Resumo. 1- Introdução. 2- Matrizes e Arquivos Vetores e Matrizes

Mestrado em Engenharia Física Tecnológica

Python 3.x Estrutura de Repetição for Estrutura de Decisão if then else

Computação I - Python

1 Definição de funções 1. 2 Valores boleanos e condicionais 5. Podemos depois usar as novas funções tal qual as pré-definidas

Computação 1 - Python 1/ 41

MC-102 Aula 24 Arquivos em C e Parâmetros do Programa

Arrays, Criação de Funções, Estruturas e Manipulação de Arquivos.

Aula 28: Arquivos de texto

TIPOS ESTRUTURADOS. Prof. Msc. Luis Filipe Alves Pereira 2015

1 Ficheiros Métodos sobre ficheiros Ficheiros de texto vs. binários Procurar ocorrências de uma palavra...

Algoritmos e Técnicas de Programação

Python: Exceções, Iteradores e Geradores. Claudio Esperança

Existem três categorias principais de linguagem de programação: linguagem de máquina, linguagens assembly e linguagens de alto nível.

Estácio-FIC Graduação em Redes de Computadores

Computação 1 - Python Aula 2 - Teórica. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 39

Nas aulas anteriores Strings. Ciclos

Introdução à Programação Aula 17 Deteção e correção de erros

Introdução à Programação / Programação I

Capítulo 06: Arquivos

Algoritmos e estrutura de dados

Programação de Computadores

Resumo. 1- Introdução

Ficheiros de Valores Separados por Vírgulas (CSV)

Computação Eletrônica

Introdução à Computação - aulas 13 e 14-

Computação 1 - Python Aula 4 - Teórica Variáveis e Atribuição, Strings. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 30

Departamento de Sistemas de Computação Universidade de São Paulo Introdução a Ciência de Computação I. Aula 13 Arquivos

Fundamentos de Lógica e Algoritmos Aula 2.5 Conceitos Básicos de Algoritmos. Prof. Dr. Bruno Moreno

Computação I - Python Aula 4 - Teórica: Variáveis e Atribuição, Strings

Programação I Aula 8 Cadeias de carateres

Programação II. Files Read & Write. Bruno Feijó Dept. de Informática, PUC-Rio

Informática Aplicada à Engenharia Florestal

Variáveis primitivas e Controle de fluxo

MCG126 Programação de Computadores II

4. Constantes. Constantes pré-definidas

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

Compiladores II. Fabio Mascarenhas

Os elementos da programação

INSTRUÇÕES DE REPETIÇÃO

Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

Linguagens de Programação

Transcrição:

Arquivos Prof. Alberto Costa Neto Programação em Python

Dispositivos de Entrada e Saída Software Unidade Central de Processamento Memória Principal if x < 3: print() Próximo comando? Memória Secundária Computador Genérico Arquivos ficam aqui! From stephen.marquard@uct.ac.za Sat Jan 5 09:14:16 2008 Return-Path: <postmaster@collab.sakaiproject.org> Date: Sat, 5 Jan 2008 09:12:18-0500 To: source@collab.sakaiproject.org From: stephen.marquard@uct.ac.za Subject: [sakai] svn commit: r39772 content/branches/ Details: http://source.sakaiproject.org/viewsvn/?view=rev&rev=39772..

Processamento de Arquivos Podemos imaginar um arquivo como uma seqüência de linhas contendo caracteres From stephen.marquard@uct.ac.za Sat Jan 5 09:14:16 2008 Return-Path: <postmaster@collab.sakaiproject.org> Date: Sat, 5 Jan 2008 09:12:18-0500 To: source@collab.sakaiproject.org From: stephen.marquard@uct.ac.za Subject: [sakai] svn commit: r39772 - content/branches/ Details: http://source.sakaiproject.org/viewsvn/?view=rev&rev=39772 http://www.py4inf.com/code/mbox-short.txt

Abrindo um Arquivo Antes que possamos ler o conteúdo do arquivo, precisamos informar ao Python com qual arquivo queremos trabalhar e o que desejamos fazer com ele (ler/escrever) Isto é feito pela função open() open() retorna um manipulador de arquivo (handle) - uma variável que é usada para executar operações em um arquivo Similar a acionar Arquivo -> Abrir em um Editor de Texto

Usando open() Sintaxe: handle = open(nome, modo) Exemplo: arq = open('mbox.txt', 'r') > Retorna um manipulador de arquivo (handle) > nome é uma string que identifica o arquivo a ser aberto > modo é opcional e deve ser 'r' se o objetivo é ler (read) ou 'w' se pretende-se escrever (write) no arquivo

O que é um manipulador de arquivo (handle)? >>> fhand = open('mbox.txt') >>> print(fhand) <_io.textiowrapper name='mbox.txt' mode='r' encoding='utf-8'>

E quando o arquivo não existe? >>> fhand = open('dados.txt') Traceback (most recent call last): File "<stdin>", line 1, in <module> FileNotFoundError: [Errno 2] No such file or directory: 'dados.txt'

Processamento de Arquivos Podemos imaginar um arquivo como uma seqüência de linhas contendo caracteres From stephen.marquard@uct.ac.za Sat Jan 5 09:14:16 2008 Return-Path: <postmaster@collab.sakaiproject.org> Date: Sat, 5 Jan 2008 09:12:18-0500 To: source@collab.sakaiproject.org From: stephen.marquard@uct.ac.za Subject: [sakai] svn commit: r39772 - content/branches/ Details: http://source.sakaiproject.org/viewsvn/?view=rev&rev=39772 http://www.py4inf.com/code/mbox-short.txt

Processamento de Arquivos Um arquivo texto tem caracteres newline no final de cada linha From stephen.marquard@uct.ac.za Sat Jan 5 09:14:16 2008\n Return-Path: <postmaster@collab.sakaiproject.org>\n Date: Sat, 5 Jan 2008 09:12:18-0500\n To: source@collab.sakaiproject.org\n From: stephen.marquard@uct.ac.za\n Subject: [sakai] svn commit: r39772 - content/branches/\n \n Details: http://source.sakaiproject.org/viewsvn/?view=rev&rev=39772\n

O caractere newline Usamos um caractere especial chamado newline para indicar o final de uma linha Ele é representado em uma string com um \n newline é um único caractere (não são 2!) >>> dados = 'Hello\nWorld!' >>> dados 'Hello\nWorld!' >>> print(dados) Hello World! >>> dados = 'X\nY' >>> print(dados) X Y >>> len(dados) 3

Handle como uma Seqüência Um handle de arquivo aberto para leitura pode ser tratado como uma seqüência de strings onde cada linha do arquivo é uma string na seqüência Podemos usar o comando for para iterar na seqüência arq = open('mbox.txt') for linha in arq: print(linha) Lembre-se que uma seqüência é um conjunto ordenado

Contando Linhas de um Arquivo Abrir o arquivo somente para leitura (read-only) Usar um laço for para ler cada linha Contar as linhas (incrementando o contador a cada iteração) e imprimir as linhas e imprimir o número de linhas arq = open('mbox.txt') cont = 0 for linha in arq: cont = cont + 1 print('linhas:', str(cont)) $ python contar.py Linhas: 132045

Lendo um Arquivo por completo Podemos ler o arquivo completo (com quebra de linhas e tudo) para uma única string >>> arq = open('mbox-short.txt') >>> conteudo = arq.read() >>> print(len(conteudo)) 94626 >>> print(conteudo[:20]) From stephen.marquar

Buscando em um Arquivo Podemos usar um comando if dentro de um comando for para imprimir apenas as linhas que atendem a um certo critério arq = open('mbox-short.txt') for linha in arq: if linha.startswith('from:') : print(linha)

OPA! O que estas linhas em branco estão fazendo aqui? From: stephen.marquard@uct.ac.za From: louis@media.berkeley.edu From: zqian@umich.edu From: rjlowe@iupui.edu...

Atenção com a quebra de linha! O que estas linhas em branco estão fazendo aqui? Cada linha do arquivo tem um caractere newline (\n) no final O comando print acrescenta um caractere newline após imprimir o valor From: stephen.marquard@uct.ac.za\n \n From: louis@media.berkeley.edu\n \n From: zqian@umich.edu\n \n From: rjlowe@iupui.edu\n \n...

Buscando em um Arquivo (corrigido) Podemos tirar espaços em branco do lado direito de uma string com a função rstrip() O caracter newline (\n) é considerado espaço em branco e é retirado arq = open('mbox-short.txt') for linha in arq: linha = linha.rstrip() if linha.startswith('from:'): print(linha) From: stephen.marquard@uct.ac.za From: louis@media.berkeley.edu From: zqian@umich.edu From: rjlowe@iupui.edu...

Pulando iterações com continue Durante a leitura de um arquivo, pode ocorrer de termos que ignorar a linha lida, ou seja, não fazer nada com ela. O comando continue dentro de um comando if pode ser usado nesta situação arq = open('mbox-short.txt') for linha in arq: linha = linha.rstrip() if not linha.startswith('from:'): continue print(linha)

Usando in para selecionar linhas Podemos buscar uma string em uma linha usando o in na linha como critério de seleção arq = open('mbox-short.txt') for linha in arq: linha = linha.rstrip() if not '@uct.ac.za' in linha : continue print(linha) From stephen.marquard@uct.ac.za Sat Jan 5 09:14:16 2008 X-Authentication-Warning: set sender to stephen.marquard@uct.ac.za using f From: stephen.marquard@uct.ac.za Author: stephen.marquard@uct.ac.za From david.horwitz@uct.ac.za Fri Jan 4 07:02:32 2008 X-Authentication-Warning: set sender to david.horwitz@uct.ac.za using -f...

Gravando um arquivo Para gravar um arquivo, basta abrir no modo escrita e usar o método write quantas vezes for necessário para gravar strings no arquivo arq = open('mbox-short.txt') arq2 = open('mbox-short2.txt','w') for linha in arq: linha = linha.rstrip() if not '@uct.ac.za' in linha : continue arq2.write(linha + '\n') arq2.close() From stephen.marquard@uct.ac.za Sat Jan 5 09:14:16 2008 X-Authentication-Warning: set sender to stephen.marquard@uct.ac.za using f X-Authentication-Warning: set sender to david.horwitz@uct.ac.za using -f...