Agenda em Python
Publicado por Jamilson Silva do Carmo (última atualização em 17/08/2009)
[ Hits: 21.331 ]
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()
Inteligência artificial com Python e Shell Script
Jode de acertar a palavra embaralhada
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
ASRock H310CM-HG4 vs Linux (2)
pacotes 32 bit no void 64 bit (1)
erro ao clonar repo github (7)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (26)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba