[ Anterior: Programação orientada a objetos ][ Sumário ][ Próxima: Exceções ]
Aprendendo Python: Entrada/Saída
Muitas vezes você vai querer que seu programa interaja com o usuário (que pode ser você mesmo). Você pode querer pegar alguma informação do usuário e depois exibir algum resultado de volta. Podemos fazer isto usando raw_input e print, respectivamente. Para a saída também podemos usar os vários métodos da classe str (string). Por exemplo, você pode usar o método rjust para justificar uma string à esquerda. Veja help(str) para mais detalhes.
Outra maneira comum de entrada/saída é trabalhar com arquivos. A habilidade para criar, ler e escrever arquivos é essencial para muitos programas e exploraremos este aspecto neste capítulo.
Você pode abrir e usar arquivos para leitura e escrita criando um objeto da classe file e usando seus métodos read, readline ou write apropriadamente para ler ou escrever no arquivo. A habilidade para ler ou escrever no arquivo dependem do modo que você especificou ao abrir o arquivo. Finalmente, quando tiver terminado o trabalho com o arquivo, você deve chamar o método close para fechá-lo.
#!/usr/bin/python poem
= '''\ f =
file('poem.txt', 'w') # abre para escrita
('w'riting) f =
file('poem.txt') # se nenhum modo é especificado, o modo
de f.close() # fecha o arquivo |
Execução:
samuel@aranha:~/python/scripts$
python arquivos.py |
Primeiro criamos uma instância
da classe file, especificando o nome do arquivo e o modo de
abertura. Os modos de abertura são: modo de leitura ('r'),
modo de escrita ('w') e modo de adição ('a').
Atualmente existem outros modos disponíveis, help(file) lhe
dará mais detalhes sobre eles.
Primeiro abrimos o arquivo em modo de escrita, usamos o método write para escrever nele e depois o fechamos com o método close.
Depois abrimos o mesmo arquivo para leitura. Se não especificamos o modo, o modo de leitura é assumido como padrão. Lemos cada linha do arquivo usando o método readline em um laço. Este método retorna uma linha inteira incluindo o caractere de nova linha. Quando uma string vazia é retornada, indica que o final do arquivo foi atingido e o laço é encerrado.
Observe que inserimos uma vírgula após print para suprimir o caractere de nova linha que normalmente é adicionado por este comando pois, a linha que é lida do arquivo já termina com um caractere de nova linha. Finalmente usamos close e fechamos o arquivo.
Python fornece um método chamado Pickle que é usado para armazenar qualquer objeto num arquivo. Existe outro módulo chamado cPickle que funciona da mesma maneira que Pickle, exceto que, por ele ser escrito em C é muito mais rápido. Embora você possa usar qualquer um dos dois módulos, normalmente os dois são referenciados como Pickle.
#!/usr/bin/python # Usando Pickle import
cPickle as p shoplistfile
= 'shoplist.data' # arquivo onde
armazenaremos shoplist = ['apple', 'mango', 'carrot'] #
Escrevendo no arquivo del shoplist # removendo shoplist #
Lendo o arquivo |
Execução:
samuel@aranha:~/python/scripts$
python pickle.py |
Primeiro observe que usamos a
sintaxe import.....as. Isto é útil pois, assim
podemos usar um nome curto para um módulo. Neste caso nós
podemos podemos alternar entre os módulos cPickle e
Pickle apenas alterando uma linha do código. No resto
do programa nós nos referenciamos ao módulo apenas como
“p”.
Para armazenar um objeto num arquivo, nós abrimos o arquivo em modo de escrita e chamamos o método dump do módulo Pickle. Este processo é chamado pickling.
Depois nós recuperamos o objeto usando o método load do módulo Pickle. Este processo é chamado unpickling.
[ Anterior: Programação orientada a objetos ][ Sumário ][ Próxima: Exceções ]