Bueno intentando hacer esta birria:


[Enlace externo eliminado para invitados]

Código: Seleccionar todo

import hashlib


def codificar(a):
 return hashlib.sha224(a).hexdigest()
bucle=True
while bucle==True:
 print """

 Login, elija opcion



 1. Crear usuario
 2. Borrar Usuario
 3. Conectarse

 """
 c = raw_input("->")

 if c==1:
    print """
    Creando usuario , no se olvida del usuario ( unicamente se accede con el usuario )
    """
    usuario = raw_input("Usuario ->")
    cod = codificar(usuario)
    abrir = open("data.txt","a")
    abrir.write("Data=", cod , "/n" )
    
    print "Correcto"
    abrir.close()
    
 elif c==2:
    print """
    Borrar usuario, tienes que recordar el usuario que pusistes
    """
    viejo = raw_input("Mi usuario es ->")
    cod2 = codificar(viejo)
    try:
     abrir2 = open("data.txt","r")
     leer = abrir2.read
     borrar = leer.replace(cod2,"")
     abrir2.close()
     print "Borrado correctamente"
     
    except:
     print "No se encuentra el archivo data.txt"
     
 elif c==3:
   print """
   Conectarse
   """
   login = raw_input("Usuario ->")
   cod3 = codificar(login)
   abrir3 = open("data.txt","r")
   leer2 = abrir3.readlines
   for cod3 in leer2:
    print """
    Correcto
    """
    
 
print """
Aqui el programa

"""
Y aqui

Código: Seleccionar todo

print """
    Borrar usuario, tienes que recordar el usuario que pusistes
    """
    viejo = raw_input("Mi usuario es ->")
    cod2 = codificar(viejo)
    try:
     abrir2 = open("data.txt","r")
     leer = abrir2.read
     borrar = leer.replace(cod2,"")
     abrir2.close()
     print "Borrado correctamente"
     
    except:
     print "No se encuentra el archivo data.txt"
Tendria que remplazar la clave por "" ( nada ) pero me da error del metodo replace ... estoy utilizandolo mal ??
Edito: Sobre este ultimo problema supongo que si abro el archivo como "read" no puedo modificarlo, luego pruebo esto ya que me tengo que ir pero dejo la duda puesta por si me confundo
Saludos y gracias
Así es, no puedes modificar si abres el archivo como lectura, abrelo de tipo append(a), que otro problema tienes? especifícalo mejor y te hecho una mano ;)
//mHmm..
Bueno ahora tengo

[Enlace externo eliminado para invitados]

He corregido la creación del usuario que funciona bien, pero no consigo hacer la opcion de borrar el usuario y encontrarlo, aparte del error del bluce.

Explico:

En la opcion de borrar, no se como es posible editar un .txt como una string ( o si no es posible cargarlo en una lista ) , he probado varias cosas pero nada.

En el bucle for .. in tampoco me funciona, no se que uso mal

Y el error del bucle while, es que no me repite el programa hasta que rompa el bucle ( al conectarse y encontrar la pass ) unicamente llega en la parte de comparar y empieza otra vez.

Saludos y muchas gracias
Errores:
El error en el bucle esque estas comparando un entero cuando raw_input recibe una string, entonces pon en vez de if c==1:, if c=='1':

Para que declarar una variable y luego hacerla condicional en el bucle mejor pon un 1 en el bucle
while 1:

Para borrar en primera estas leyendo mal el archivo no es abrir2.read es abrir2.read(), ahora para borrar un nombre trabajando en un .txt se me ocurre sobreescribir el archivo entonces primero obtienes elcontenido con abrir2.read() despues reemplazas asi como le haces y despues lo abres de nuevo con "w" para borrar todo y escribir de nuevo

Para el login no necesitas for in, solo usa .find para encontrar el username encriptado y listo

leer3=abrir3.read()
if leer3.find(cod3)!=-1:
print "Correcto"


Tu codigo correcto para que entiendas mejor:

Código: Seleccionar todo

import hashlib


def codificar(a):
 return hashlib.sha224(a).hexdigest()

while 1:
 print """

 Login, elija opcion



 1. Crear usuario
 2. Borrar Usuario
 3. Conectarse

 """
 c = raw_input("->")
 
 if c=='1':
  print """
  Creando usuario , no se olvide del usuario ( unicamente se accede con el usuario )
  """
  usuario = raw_input("Usuario ->")
  cod = codificar(usuario)
  abrir = open("data.txt","a")
  texto = "Data="+cod+"\n"
  abrir.write(texto) 
  print "Correcto"
  abrir.close()
   
 elif c=='2':
  print """
  Borrar usuario, tienes que recordar el usuario que pusiste
  """
  viejo = raw_input("Mi usuario es ->")
  cod2 = codificar(viejo)
  try:
   abrir2 = open("data.txt","r")
   leer = abrir2.read()
   abrir2.close()
   borrar = leer.replace(cod2,"")
   abrir2 = open("data.txt","w")
   abrir2.write(borrar)
   abrir2.close()
   print "Borrado correctamente"
  except:
   print "No se encuentra el archivo data.txt"
   
 elif c=='3':
  print """
  Conectarse
  """
  login = raw_input("Usuario ->")
  cod3 = codificar(login)
  abrir3 = open("data.txt","r")
  leer2 = abrir3.read()
  abrir3.close()
  if leer2.find(cod3) != -1:
   print "Correcto"
 else:
  print " No escogio ningun elemento"
Cualquier duda me preguntas
//mHmm..
Muchas gracias, lo he retocado un poco para que elimine el data también .. lo pongo por si alguno viene buscando el código final


Código: Seleccionar todo

import hashlib


def codificar(a):
 return hashlib.sha224(a).hexdigest()
bucle=True
while bucle==True:
 print """

 Login, elija opcion



 1. Crear usuario
 2. Borrar Usuario
 3. Conectarse

 """
 c = raw_input("->")

 if c=="1":
    print """
    Creando usuario , no se olvide del usuario ( unicamente se accede con el usuario )
    """
    usuario = raw_input("Usuario ->")
    cod = codificar(usuario)
    abrir = open("data.txt","a")
    texto = "Data="+cod+"\n"
    abrir.write(texto) 
    print "Correcto"
    abrir.close()
   
 elif c=="2":
    print """
    Borrar usuario, tienes que recordar el usuario que pusistes
    """
    viejo = raw_input("Mi usuario es ->")
    cod2 = codificar(viejo)
    texto2= "Data="+cod2+"\n"
    try:
     abrir2 = open("data.txt","r")
     leer = abrir2.read()
     abrir2.close()
     borrar = leer.replace(texto2,"")
     abrir2 = open("data.txt","w")
     abrir2.write(borrar)
     abrir2.close()
     print "Borrado correctamente"
    except:
     print "No se encuentra el archivo data.txt"
  
 elif c=="3":
   print """
   Conectarse
   """
   login = raw_input("Usuario ->")
   cod3 = codificar(login)
   abrir3 = open("data.txt","r")
   leer2 = abrir3.read()
   abrir3.close()
   if leer2.find(cod3) !=1:
    print "Correcto"
    break

print """
Aqui el programa
xxxxxxxxxx
xxx
xxx
xxx
xxxxxxxxx
"""
   
     
        
    
    

Responder

Volver a “Python”