cierto, me confundiria revisandolo xD, gracias a ti loko me ayudo a pasar la tarde jaja.
Saludos!
Saludos!

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
#!/usr/bin/python
import re
def fAgregarNuevoAdmin(vNuevoAdmin):
try:
fichero = open("users",'r')
f = fichero.read()
usuarios = re.findall("admins = (.*)",f)
usuariosViejos = usuarios[0].split(", ") # partimos la cadena con los usuarios viejos para que se quede en una lista
cadenaNuevosUsuarios = "" # cadena que contendra todos los admins antiguos, mas el nuevo
cadenaViejosUsuarios = "" # cadena que contendra todos los admins antiguos
# Recorremos la lista de usuariosViejos para montar las cadenas, que despues nos haran falta en el replace
for i in range(len(usuariosViejos)):
if i+1 == len(usuariosViejos): # Controlamos que lo ultimo de la cadena no sea ", " Ejemplo : "['usuario1'], [usuario2], "
cadenaNuevosUsuarios = cadenaNuevosUsuarios + usuariosViejos[i]
cadenaViejosUsuarios = cadenaViejosUsuarios + usuariosViejos[i]
else:
cadenaNuevosUsuarios = cadenaNuevosUsuarios + usuariosViejos[i] + ", "
cadenaViejosUsuarios = cadenaViejosUsuarios + usuariosViejos[i] + ", "
cadenaNuevosUsuarios = cadenaNuevosUsuarios + ", " + vNuevoAdmin # Agregamos el nuevo usuario
f = f.replace(cadenaViejosUsuarios,cadenaNuevosUsuarios) # Reemplazamos la linea
fichero.close()
fichero = open("users",'w')
fichero.write(f) #Guardamos el fichero modificado
fichero.close()
except:
print 'ERROR'
fAgregarNuevoAdmin('[\'pepe\']');
Citar
admins_nuevos = [admins_originales] + [NuevoAdmin] #y esta linea
contenido_modificado = contenido.replace(admins_originales, admins_nuevos)
Citar
admins_nuevos = admins_nuevos[0].split(",")
admins_nuevos.append(NuevoUsuario)
pero tengo problemas al guardarlos. Como tu los guardas si te fijas te sustituye el contenido entero del fichero por lo que tengas, se carga el config.py

peroo bueno me sirvio para mas o menos ir entrando en las clases de python.
#/usr/bin/python
## Clase para gestionar los contactos ##
class Contacto():
def __init__(self, nombre, direccion, telefono, email):
self.nombreContacto = nombre
self.dirContacto = direccion
self.tlfnContacto = telefono
self.emailContacto = email
## setters - Funciones para cambiar el valor de las variables ##
def setNombre(self, nombre):
self.nombreContacto = nombre
def setDireccion(self, direccion):
self.dirContacto = direccion
def setTelefono(self, telefono):
self.tlfnContacto = telefono
def setEmail(self, email):
self.emailContacto = email
## getters - Funciones para conseguir el valor de las variables ##
def getNombre(self):
return self.nombreContacto
def getDireccion(self):
return self.dirContacto
def getTelefono(self):
return self.tlfnContacto
def getEmail(self):
return self.emailContacto
## Clase para gestionar la agenda ##
class Agenda():
lstContactos = []
def getContactos(self):
return self.lstContactos
def setContactos(self, lstContactos):
self.lstContactos = lstContactos
def nuevoContacto(self,contacto):
self.lstContactos.append(contacto)
def borrarContacto(self,indice):
del self.lstContactos[indice]
#!/usr/bin/python
from ClasesAgenda import Agenda, Contacto
import os
##---> VARIABLES <---##
agenda = Agenda()
##---> FUNCIONES <---##
def imprimirContactos(lstContactos): ## Mostramos todos los contactos ##
for indice in range(len(lstContactos)):
print "-> ",indice,"- Nombre:",lstContactos[indice].getNombre(),"-- Direccion:",lstContactos[indice].getDireccion(),"-- Telefono:",lstContactos[indice].getTelefono(),"-- Email:",lstContactos[indice].getEmail()
## MENU ##
while True:
os.system("clear") ## Nos ayuda a limpiar la pantalla
print "#! - ###################### - !#"
print "#! Code por ZomWeed - PYTHON !#"
print "--------------------------------"
print "#! Agenda de Contactos !#"
print "--------------------------------"
print "[1] -> Nuevo Contacto "
print "[2] -> Borrar Contacto "
print "[3] -> Listar Contacto "
print "[4] -> Modificar Contacto "
print "[0] -> Salir "
opcion = input("-><- Elija una opcion...")
if opcion != 0:
if opcion == 1:
## Recogemos los datos necesario para crear un nuevo contacto ##
os.system("clear")
print "[+] Nuevo Contacto: Informacion ->"
print ". ------------------------------ ."
nombre = raw_input("-> Cual es su nombre?")
direccion = raw_input("-> Cual es su direccion?")
telefono = raw_input("-> Cual es su telefono?")
email = raw_input("-> Cual es su email?")
contacto = Contacto(nombre,direccion,telefono,email)
agenda.nuevoContacto(contacto)
elif opcion == 2 and len(agenda.getContactos()) > 0:
## Mostramos todos los contactos y eliminamos segun nos indique el usuario ##
while True:
os.system("clear")
print "[+] Eliminar Contacto: Lista de Contactos ->"
print ". ---------------------------------------- ."
imprimirContactos(agenda.getContactos()) ## Mostramos los contactos
print "-> (s) : Salir"
indiceEliminar = raw_input("-><- Elija un contacto... ")
if indiceEliminar == 's' or indiceEliminar == 'S': ## Comprobamos la opcion elegida por el usuario
break
if int(indiceEliminar) >= len(agenda.getContactos()):
raw_input("U_u ERROR: indice incorrecto, pulse una tecla para continuar")
else:
agenda.borrarContacto(int(indiceEliminar)) ## Hacemos un casting a entero ya que raw_input nos devuelve string
elif opcion == 3:
## Mostramos todos los contactos ##
os.system("clear")
print "[+] Listar Contactos: Lista de Contactos ->"
print ". --------------------------------------- ."
imprimirContactos(agenda.getContactos())
raw_input("-><- Listados de los contactos actuales almacenados,pulse una tecla para continuar")
elif opcion == 4:
## Mostramos todos los contactos, el usuario indicara el contacto y registro a modificar ##
while True:
os.system("clear")
print "[+] Modificar Contacto: Seleccion del contacto ->"
print ". --------------------------------------------- ."
imprimirContactos(agenda.getContactos()) ## Mostramos los contactos
print "-> (s) : Salir"
indiceContacto = raw_input("-><- Elija un contacto... ")
if indiceContacto == 's' or indiceContacto == 'S':
break
os.system("clear")
if int(indiceContacto) > len(agenda.getContactos()):
raw_input("U_u ERROR: indice incorrecto, pulse una tecla para continuar")
else:
print "[+] Modificar Contacto: Registros a modificar ->"
print ". -------------------------------------------- ."
print "-> 1 - Nombre"
print "-> 2 - Direccion"
print "-> 3 - Telefono"
print "-> 4 - Email"
opcionRegistro = input("-><- Elija un contacto... ")
if opcionRegistro == 1:
nombre = raw_input("\nEscriba el nuevo nombre: ")
lstContactos = agenda.getContactos()
lstContactos[int(indiceContacto)].setNombre(nombre) ## Hacemos un casting ya que raw_input nos devuelve string
agenda.setContactos(lstContactos)
elif opcionRegistro == 2:
direccion = raw_input("\nEscriba la nueva direccion: ")
lstContactos = agenda.getContactos()
lstContactos[int(indiceContacto)].setDireccion(direccion)
agenda.setContactos(lstContactos)
elif opcionRegistro == 3:
telefono = raw_input("\nEscriba el nuevo telefono: ")
lstContactos = agenda.getContactos()
lstContactos[int(indiceContacto)].setTelefono(telefono)
agenda.setContactos(lstContactos)
elif opcionRegistro == 4:
email = raw_input("\nEscriba el nuevo nombre")
lstContactos = agenda.getContactos()
lstContactos[int(indiceContacto)].setEmail(email)
agenda.setContactos(lstContactos)
elif opcion == 0:
print "\nSaludos Terricola [^_^]"
break
nose porque te habrá salido 41... Citarme contesto yo mismo xDD
Editado: oye una pregunta como podria llamar con import a un fichero que tiene la estructura de una clase en python. Estoy probando con import y el fichero pero no me funciona.
mas que nada para practicar con clases y funciones, dentro de poco lo cuelgo y le hechais un vistazo
#!/usr/bin/python
import datetime
## Obtenemos la fecha actual y la devolvemos en una lista
def fechaActual():
fecha = str(datetime.date.today())
fecha = fecha.split('-')
return fecha
## Calculamos la edad
def calcularEdad(fechaUsuario):
fechaHOY = fechaActual()
fechaUsuario = fechaUsuario.split('-')
edad = int(fechaHOY[0]) - int(fechaUsuario[0])
if int(fechaUsuario[1]) > int(fechaHOY[1]):
edad -= 1
elif int(fechaUsuario[2]) > int(fechaHOY[2]):
edad -= 1
return edad
print "###########################"
print "# Code de ZomWeed -PYTHON #"
print "#-------------------------#"
print "# (Calculo-de-Edad) #"
print "###########################"
fechaUsuario = raw_input("-> Porfavor, indique una fecha (AA-MM-DD)")
print "La edad es -> ",calcularEdad(fechaUsuario)
