Agenda en python con Sqlite3 (Version 0.1)
Agenda en Python |
Dejo el código y el archivo para descargar de la Agenda (Versión 0.1) hecha con python y Sqlite3. Se hizo en un sistema Linux (Ubuntu). También lo probé en Windows 7 y funcionó, pero tendría que hacerle algunas modificaciones que realizaré en otras versiones.
Puedes ver estas entradas que también pueden ayudarte en caso de no entender el código:
Python y Sqlite3 como Base de Datos
Limpiar pantalla en python
Archivo para descargar y probar --> Agenda.py
GitHub --> https://github.com/DiegoCaraballo/Agenda-en-python-con-Sqlite3.git
Tiene un montón de cosas para corregir y también para agregar, por eso quiero decirles que con sus críticas, sugerencias o cualquier tipo de comentario contribuirán para las próximas versiones, Gracias....
La primera ves que ejecutes el archivo, este creará una base de datos llamadas "agenda.db" en el directorio donde ejecutes el archivo.
Codigo:
#! usr/bin/python # -*- coding: utf-8 -*- #Agenda con base de datos Sqlite3 #www.pythondiario.com #Autor: Diego Caraballo #Modulos importados import sqlite3 import time import os #Conexion con Base de Datos Sqlite3 con = sqlite3.connect("agenda.db") cursor = con.cursor() #Comprueba si la tabla existe, en caso de no existir la crea cursor.execute("""CREATE TABLE IF NOT EXISTS datos (nombre TEXT, apellido TEXT, telefono TEXT, correo TEXT)""") cursor.close() #Declaracion de las funciones def limpiar(): """Limpia la pantalla""" if os.name == "posix": os.system("clear") elif os.name == ("ce", "nt", "dos"): os.system("cls") def agregar(): """Agrega un nuevo contacto a la Agenda""" print "Agregar contacto" print "----------------" print "" con = sqlite3.connect("agenda.db") cursor = con.cursor() nombre = raw_input("Nombre: ") apellido = raw_input("Apellido: ") telefono = raw_input("Telefono: ") correo = raw_input("Correo: ") cursor.execute("insert into datos (nombre, apellido, telefono, correo) values ('%s','%s','%s','%s')"%(nombre,apellido,telefono,correo)) con.commit() print "Los datos fueron agregados correctamente" cursor.close() time.sleep(2) main() def ver(): """Devuelve todos los contactos de la agenda""" print "Lista de contactos" print "------------------" print "" con = sqlite3.connect("agenda.db") cursor = con.cursor() cursor.execute("SELECT * FROM datos") resultado = cursor.fetchall() for i in resultado: print "%s %s %s %s" % (i[0],i[1],i[2],i[3]) cursor.close() print "" raw_input("Presione una tecla para continuar...") main() def buscar(): """Busca un contacto en la agenda y lo lista""" print "Buscar contacto" print "---------------" print "" con = sqlite3.connect("agenda.db") cursor = con.cursor() buscar = raw_input("Nombre a buscar: ") cursor.execute ("SELECT * FROM datos WHERE nombre = '%s'" %(buscar)) x = cursor.fetchall() print "" for i in x: print "Nombre:", i[0] print "Apellido:", i[1] print "Telefono:", i[2] print "Correo:", i[3] print "" cursor.close() print "" raw_input("Presione una tecla para continuar...") main() def eliminar(): """Elimina un contacto de la Agenda""" print "Eliminar contacto" print "-----------------" print "" con = sqlite3.connect("agenda.db") cursor = con.cursor() eliminar = raw_input ("Nombre de contacto a eliminar: ") cursor.execute("DELETE FROM datos WHERE nombre='%s'"%(eliminar)) con.commit() cursor.close() print "Contacto eliminao correctamente..." raw_input() main() def main(): """Funcion principal de la Agenda""" limpiar() print "-----------------------------------------" print "Esta es la agenda de www.pythondiario.com" print "-----------------------------------------" print " Version 0.1" print """ [1] Ingresar Contacto [2] Listar Contactos [3] Buscar Contacto [4] Eliminar Contacto [0] Salir """ opcion = raw_input("Ingresa una opción -> ") if opcion != "1" and opcion != "2" and opcion != "3" and opcion != "4" and opcion != "5" and opcion != "0": print "Opcion incorrecta" raw_input() main() elif opcion == "1": limpiar() agregar() elif opcion == "2": limpiar() ver() elif opcion == "3": limpiar() buscar() elif opcion == "4": limpiar() eliminar() elif opcion == "0": print "" print "Bye..." print "No te olvides de visitar www.pythondiario.com :)" print "" print "" time.sleep(3) exit() main()
Saludos y espero les sea de utilidad...
-
-
Gracias Andres por visitar el blog. Espero te sea de muhca ayuda. Saludos
-
-
Buenisimo, gracias por compartir. Estoy empezando con python y tu blog me resulta muy util. La versión 0.2 de ésta agenda podría tener una interface gráfica con pyqt o tk, yo lo voy a intentar cuando pueda.
-
Hola Martin, Gracias por darte una vuelta en el blog. Me alegro que los artículos te sean de ayuda. La próxima versión será una aplicación gráfica por supuesto. Saludos
-
-
me puede mandar ese programa el link no funciona , y gracias de ante mano
-
Hola Lenri, ya corregí el link (lo subí a Drive). Prueba ahora y cualquier cosa me comentas. Saludos y gracias por visitar el blog 😉
-
Muchisima gracias me sirvio mucho , sigue asi con este blog 😉
-
Me alegro te sea de ayuda Lenri ;). Así seguiremos, Saludos
-
-
Gracias por poner el código, estoy intentando hacer una app utilizando sqlite3 y tu código creo que me será útil.
-
Me alegro Miguel te pueda ser de ayuda. Suerte!!!
-
-
Excelente como siempre!!!
-
Muchas gracias 😉
-
-
Hola Diego....hay una nueva version de la agenda ? y en su defecto en Windows que modificaciones le hago para que funcione..gracias
-
Filete diego, me sera de mucha ayuda, tengo la misma duda de el comentario anterior... hay alguna actualizacion?
-
Y como sería para agregarle un apartado para modificar los datos? Espero me puedas ayudar !
Deja una respuesta
Muchas gracias por el aporte. Por lo que veo se trata de un a/b/m y consultas muy interesante a la hora de trabajar con bases de datos. Lo voy a probar y a jugar un poco con el codigo.