Agenda em Python
Publicado por Jamilson Silva do Carmo (última atualização em 17/08/2009)
[ Hits: 21.661 ]
Simples programa de uma agenda em Python que demostra o uso de orientação a objetos.
#!/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()
Script para obter um wallpaper de como está o globo em tempo real
Implementação simples de um programa antivírus em Python 3.10 para Linux
Dicionário Ingles de expressões.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
A area de trabalho ficou preta (12)
Falta pacotes de suporte ao sistema de arquivos (Gerenciador de discos... (3)
Certificação Linux e prestação de serviços (2)
WebScrapping através de screenshot devido a bloqueios de Shadow DOM (2)