InFog

Um blog sobre GNU, Linux, Open Source, Desenvolvimento e Nerdices em Geral

Curso de Python – Aula 12 – Manipulando Arquivos

Tags: ,

Olá alunos!

Semana passada não teve aula, eu estava viajando e não consegui deixar a aula pronta, mas agora voltamos à programação normal!

O pessoal ficou com algumas dúvidas sobre o exercício dos dados, mas em geral conseguiu resolver.

Hoje vamos tratar sobre a manipulação básica de arquivos. Vamos aprender a abrir um arquivo, gravar informações nele e também à ler informações dele.

Primeiro vamos ver como adicionar algum texto à um arquivo:

1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/env python
# -*- coding: utf-8 -*-
arq = open('/tmp/lista.txt', 'w')
texto = """
Lista de Alunos
---
João da Silva
José Lima
Maria das Dores
"""

arq.write(texto)
arq.close()

É bem simples, não? Na linha 3 é aberto o arquivo “/tmp/lista.txt” em modo de gravação, caso o arquivo não exista ele será criado. Na quarta linha é definida a variável “texto” que, na linha 11, é incluída ao arquivo “/tmp/lista.txt”, que corresponde à variável “arq”. Na linha 12 o arquivo é fechado e então o programa termina. Aqui eu fiz um cat no arquivo e ele apareceu com as informações que estavam na variável “texto”.

Pessoal, entendam que esta é uma das maneiras mais simples de guardar informações, todos os programas que fizemos até agora perdem as informações assim que terminados.

Também é possível escrever em arquivos usando listas no lugar de variáveis apenas em texto:

1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/env python
# -*- coding: utf-8 -*-
arq = open('/tmp/lista.txt', 'w')
texto = []
texto.append('Lista de Alunos\n')
texto.append('---\n')
texto.append('João da Silva\n')
texto.append('José Lima\n')
texto.append('Maria das Dores')
arq.writelines(texto)
arq.close()

Isto vai gerar o mesmo arquivo que o exemplo anterior, a diferença é que deu mais trabalho, mas dependendo da situação este modo pode ser melhor.

Certo, agora que já sabemos como adicionar informações vamos aprender a ler informações:

1
2
3
4
5
6
#!/usr/bin/env python
# -*- coding: utf-8 -*-
arq = open('/tmp/lista.txt', 'r')
texto = arq.read()
print(texto)
arq.close()

A função read() lê o arquivo todo de uma vez para uma variável. Isso pode ser legal em casos como este, em que eu quero apenas exibir a variável. Mas vejam este outro exemplo:

1
2
3
4
5
6
7
#!/usr/bin/env python
# -*- coding: utf-8 -*-
arq = open('/tmp/lista.txt', 'r')
texto = arq.readlines()
for linha in texto :
    print(linha)
arq.close()

A função readlines() retorna cada linha do arquivo como um elemento de uma lista. Tudo o que já sabemos sobre a manipulação de listas pode ser usado aqui =)

Lição de Casa

Usando apenas os modos de abertura de arquivos mostrados nesta aula (‘w’ e ‘r’) faça o seguinte:

1) Grave esta lista em um arquivo (Copie para o seu código para isso):

Gol
Uno
Palio
EcoSport
Clio
Strada
Golf

2) Inverta a ordem da lista e grave em um segundo arquivo.

3) Ordene a lista alfabeticamente em um terceiro arquivo.

4) Com a lista organizada faça a sua numeração em um quarto arquivo, assim:

1 – Clio
2 – EcoSport…

Boa sorte!

Outros textos que você pode gostar:

  1. Curso de Python – Aula 13 – Passando Argumentos Via Terminal Olá queridos alunos! Espero que todos estejam gostando tanto destas...
  2. Curso de Python – Aula 9 – Mais sobre listas e um pouco de “aleatoriedade” Olá pessoal! Como foram de festas de fim de ano?...
  3. Curso de Python – Aula 2 – Conceitos e variáveis Olá! Está na hora de começar o Curso de...

Posts relacionados trazidos a você pelo Yet Another Related Posts Plugin.

Tags: ,

5 Comentários to “Curso de Python – Aula 12 – Manipulando Arquivos”


  1. Danilo Cabello
    on fev 8th, 2009
    @ 17:45

    Vale lembrar que você não precisa dar readlines para iterar sobre o texto do arquivo, você pode fazer algo do gênero:

    arq = open(“arquivo.txt”)
    for linha in arq:
    print linha

    O modo de leitura é o modo padrão então pode ser omitido.

    [Resposta]


  2. Rodrigo Cesar
    on fev 15th, 2009
    @ 22:04

    Só lembrando que pode se usar o operador ‘+’ junto com o modo de abertura do arquivo.

    [Resposta]


  3. Curso de Python « Planeta Livre
    on mar 8th, 2009
    @ 22:55

    [...] Aula 12 – Manipulando Arquivos; [...]


  4. Twitter Trackbacks for Curso de Python – Aula 12 – Manipulando Arquivos « InFog [casoft.info] on Topsy.com
    on ago 30th, 2009
    @ 17:05

    [...] Curso de Python – Aula 12 – Manipulando Arquivos « InFog infog.casoft.info/?p=476 – view page – cached #InFog RSS Feed InFog Atom Feed InFog » Curso de Python – Aula 12 – Manipulando Arquivos Feed de comentários InFog Instalando o BrOffice.org com corretor ortográfico no Debian/Ubuntu Update: Sorteadas as três Linux Magazine! As tirinhas estão voltando! — From the page [...]


  5. ROBISON DE MARATAIZES-ES
    on set 8th, 2009
    @ 10:51

    Exercício terminado com sucesso!!!!

    Indo pra aula 13…………………….Fui…………………….

    [Resposta]

Deixar uma Resposta

© 2009 InFog. All Rights Reserved.

This blog is powered by Wordpress and Magatheme by Bryan Helmig.