Pular para o conteúdo

Agenda PasPy

Agenda que utiliza arquivos txt como 'bd.'
Alexandre Ale_
Hits: 6.312 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()

Pyconv - Conversor de codificação de caracteres

Cadastro de Distros

ccl - cut and change lines

Descobrir HOME do usuario e criar arquivo de configuração

Leitor de arquivo

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.