Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: epsxe 1.60llin
Por Al_Qaeda
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por Jamilson Silva do Carmo em (última atualização em 17/08/2009)   [ 4187 hits ]

Login: jamilson, 51998 pontos

   


Descrição

Simples programa de uma agenda em Python que demostra o uso de orientação a objetos.

[ Download: 4126.agenda.py ]   [ Enviar nova versão ]

[ Esconder código-fonte ]

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Criado em: Seg 17/Ago/2009 - 15:05hs
# Autor: Jamilson Silva do Carmo - jscarmo@ig.com.br
#
# Proposito do script: uma agenda bem simples. Digite --help para obter ajuda.

import shelve
import sys

# ver agenda toda
def mostra_todos_registros(agenda):
   for nome in agenda:
      print nome, agenda[nome]

# insere alguem
def insere(agenda, nome, telefone):
   agenda[nome] = telefone

# mostra um determinado nome da agenda
def busca(agenda, nome):
   try:
      print nome, agenda[nome]
   except Exception:
      print nome, 'não está na agenda.'

# apaga alguém
def apaga(agenda, nome):
   try:
      del agenda[nome]
   except Exception:
      print nome, 'não está na agenda.'

# apaga todos os nomes da agenda
def limpa(agenda):
   for nome in agenda:
      del agenda[nome]

# ajuda para --help
def ajuda():
   print "Uso:"
   print sys.argv[0], "[comando] [parâmetros]"
   print "--help: mostra esta ajuda"
   print "--show NOME: mostra o NOME e seu respectivo telefone"
   print "--show: mostra todos os nomes. É a operação padrão"
   print "--add NOME TELEFONE: adiciona NOME e TELEFONE para a agenda"
   print "--del NOME: remove NOME e seu respectivo telefone da agenda"
   print "--clean: apaga todos os nomes da agenda"
   
def main():
   # se não for passado nenhum comando, o comando eh para mostrar tudo
   if len(sys.argv) == 1:
      comando = "show"
   else:
      comando = sys.argv[1]
   comando.lower()
   
   # abre a agenda
   agenda = shelve.open('agenda.db')

   # help
   if comando in ("help", "-h", "--help", "ajuda"):
      ajuda()
   # visualização
   elif comando in ("show", "-s", "--show"):
      if len(sys.argv) == 1 or len(sys.argv) == 2:
         mostra_todos_registros(agenda)
      elif len(sys.argv) == 3:
         nome = sys.argv[2]
         busca(agenda, nome)
      else:
         ajuda()
   # deleção
   elif comando in ("del", "-d", "-del", "--del", "delete"):
      if len(sys.argv) == 3:
         nome = sys.argv[2]
         apaga(agenda, nome)
      else:
         ajuda(bin)
   # inserção
   elif comando in ("add", "-a", "-add", "--add"):
      if len(sys.argv) == 4:
         nome = sys.argv[2]
         tel = sys.argv[3]
         insere(agenda, nome, tel)
      else:
         ajuda()
   # destruição
   elif comando in ("clean", "-c", "-clean", "--clean"):
      limpa(agenda)
   else:
      ajuda()
   
   # fecha o banco
   agenda.close()

if __name__ == "__main__":
   main()   

Scripts recomendados
   Script Linux recomendado Programa para calcular a média e a nota trimestral
   Script Linux recomendado Jogo da forca criado em Python
   Script Linux recomendado Combinações de letras, números e muito mais
   Script Linux recomendado Um Script basico que tenho
   Script Linux recomendado Inverte String

Comentários
[1] Comentário enviado por franciscosouza em 03/11/2009 - 22:37h:

Não entendi onde fica o uso da orientação a objetos (:


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.