Pular para o conteúdo

Agenda PasPy

Agenda que utiliza arquivos txt como 'bd.'
Alexandre Ale_
Hits: 6.313 Categoria: Python Subcategoria: Manipulação de arquivos
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Agenda que utiliza arquivos txt como 'bd.'
Download agenda.py Enviar nova versão

Esconder código-fonte

#!/usr/bin/env python

''' '' '' '' '' ''' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''
''' Licenca:GPL ''' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''
''' '' '' '' '' ''' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''

# ----------- -----  -----   ----    ---     --      -      by psybox|
# Autor: psybox                                                      |
# Contato: psy.box@phreaker.net                                      |
# -------------------------------------------------------------------

import os
import time

# Pasta para os dados
mDir = os.system("ls dados")
if( mDir <> "" ):
   os.system("mkdir dados")

Dir_dados = './dados/'
Arq1 = ''

#____CADASTRAR____#
# Defino a funcao 'cadastrar()'
# com a tarefa de coletar
# informacoes basicas para
# o cadastramento via arquivo
# texto de um contato na
# agenda, sendo as seguintes
# informacoes necessarias:
# - Nome   STRING -> Arquivo
# - Sobrenome   STRING
# - Endereco   STRING
# - Telefone   STRING

def cadastrar():
   Pessoal = {'Nome':'','Sobrenome':'','Endereco':'','Tel':''}
   
   print('\n ------------- -----  -----   ----    ----    ---      --      -      by psybox')
   print('\n')
   Pessoal['Nome'] = raw_input('\nNome: ')
   Pessoal['Sobrenome'] = raw_input('\nSobrenome: ')
   Pessoal['Endereco'] = raw_input('\nEndereco: ')
   Pessoal['Tel'] = raw_input('\nTelefone: ')
   x = len(Pessoal['Nome'])
   if (x == 0) or (Pessoal['Nome'] == '\b'):
      print("\n Digite um nome valido!")
      cadastrar()
   
   nome = Pessoal['Nome']
   Arq1 = open(Dir_dados+nome, 'a')
   
   Pessoal['Nome'] = Pessoal['Nome']+'\n'
   Pessoal['Sobrenome'] = Pessoal['Sobrenome']+'\n'
   Pessoal['Endereco'] = Pessoal['Endereco']+'\n'
   Pessoal['Tel'] = Pessoal['Tel']+'\n'
   Arq1.write(Pessoal['Nome'])
   Arq1.write(Pessoal['Sobrenome'])
   Arq1.write(Pessoal['Endereco'])
   Arq1.write(Pessoal['Tel'])
   Arq1.close()
   
   print('\n** Contato adicionado!')
   
   time.sleep(1.5)
   Menu()

#____CONSULTAR____#
# Defino a funcao 'consultar()'
# com a tarefa de leitura
# e exibicao de informacoes
# registradas em um arquivo
# texto, onde sera necessaria
# a seguinte informacao para sucesso:
# - Nome   STRING -> Arquivo

def consultar():
   linha = ''
   nome = ''
   
   print('\n ------------- -----  -----   ----    ----    ---      --      -      by psybox')
   print('\n')
   nome = raw_input('Nome do contato: ')
   
   try:
      Arq1 = open(Dir_dados+nome,'r')
   except:
      print("\n** Contato nao cadastrado!")
      time.sleep(3)
      consultar()
   try:
      linha = Arq1.readline()
      print('\nNome: '+linha)
      linha = Arq1.readline()
      print('Sobrenome: '+linha)
      linha = Arq1.readline()
      print('Endereco: '+linha)
      linha = Arq1.readline()
      print('Telefone: '+linha)
   except:
      print('\n** Erro ao ler arquivo!')
      exit
   Arq1.close()
   nome = raw_input('\n** Para continuar pressione [ENTER]...')
   Menu()

#____LISTAR____#

def listar():
   lista = ''
   
   os.system('ls '+Dir_dados+' > /tmp/lista')
   Arq1 = open('/tmp/lista','r')
   lista = Arq1.read()
   
   print('\n ------------- -----  -----   ----    ----    ---      --      -      by psybox')
   print('\n')
   print(lista)
   
   Arq1.close()
   nome = raw_input('\n** Para continuar pressione [ENTER]...')
   Menu()
         
#____DELETAR____#
# Defino a funcao 'deletar()'
# com a tarefa de remover
# arquivos de contatos
# cadastrados previamente
# atraves da funcao 'cadastrar()'
# ou ate mesmo arquivos texto
# que se encontrem no diretorio de
# dados determinado.

def deletar():
   nome = ''
   
   print('\n ------------- -----  -----   ----    ----    ---      --      -      by psybox')
   print('\n')
   nome = raw_input("Qual contato voce deseja deletar ?: ")
   try:
      os.remove(Dir_dados+nome)
   except:
      print("\n** Erro ao deletar contato! Nao existente!")
      deletar()
   print('\n** Contato apagado!')
   time.sleep(1.5)
   Menu()
      
#____MENU____#

def Menu():
   os.system('clear')
   menu = ''
   
   print('\n ------------- -----  -----   ----    ----    ---      --      -      by psybox')
   print('\n')
   print('\n*o* Agenda PASPY beta *o*')
   print('\n')
   print('* (C)adastrar contato')
   print('* (Co)onsultar contato')
   print('* (L)istar contatos')
   print('* (D)eletar contato')
   
   menu = raw_input('* (S)air: ').lower()
   
   if (menu == 'c'):
      cadastrar()
   elif (menu == 'co'):
      consultar()
   elif (menu == 'l'):
      listar()
   elif (menu == 'd'):
      deletar()
   elif (menu == 's'):
      os.system('clear')
      exit
   else:
      print('\n** Digite algo valido!')
      time.sleep(1.5)
      Menu()
os.system('clear')
Menu()

RenameFile

ccl - cut and change lines

Calculador de Frequência

Agenda de compromissos

Agenda de Contatos

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.