elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Python (Moderador: Danielㅤ)
| | |-+  [Python] Ayuda con registro de usuarios usando ficheros .txt
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Python] Ayuda con registro de usuarios usando ficheros .txt  (Leído 6,680 veces)
pysQl

Desconectado Desconectado

Mensajes: 3


Ver Perfil
[Python] Ayuda con registro de usuarios usando ficheros .txt
« en: 13 Julio 2015, 10:28 am »

Bueno, como verán soy nuevo en el foro (y este es mi primer post :))
también en el mundo de la programación y estoy empezando en esto haciendo uso del lenguaje de programación Python.

De camino al grano:
Estoy intentando hacer un programa el cual registre a usuarios a una base de datos (en este caso .txt)
Hasta ahora tengo este código escrito el cual funciona y a grandes rasgos hace lo siguiente:

Haciendo uso de una función pregunta si se desea registrar, si es así, entonces llama a otra función la cual crea un documento de texto (en caso que no existiese) y almacena el nuevo usuario.

Código
  1. def nuevo_registro():
  2. ok = input("Desea registrarse? (S/N): ")
  3. while ok:
  4. if ok in ('S','s','si','SI'):
  5. print("Bienvenido al sistema de registros")
  6. print(' --------------------------------')
  7. registro_de_usuarios()
  8. break
  9. elif ok in ('N','n','no','NO'):
  10. print("La proxima sera")
  11. break
  12. else:
  13. print ("Opcion no valida")
  14. return nuevo_registro()
  15.  
  16. def registro_de_usuarios():
  17. user = input("Usuario: ")
  18. registro_de_usuarios = open('usuarios_registrados.txt','a')
  19. registro_de_usuarios.write(user + '\n')
  20. registro_de_usuarios.close()
  21. print('')
  22. print("Usuario registrado con exito")

Mi duda es como podría hacer para que el usuario a registrar antes de ser registrado sea verificado si esta o no en el archivo "usuarios_registrados.txt" el cual creé para luego registrarlo.
Debería hacer uso de un siclo for, para leer las lineas del documento y compararlas?

Me gustaría que me den algunas recomendaciones para facilitar mi aprendizaje en este lenguaje y opiniones sobre el código presentado :) Pues es lo primero que escribo  :)


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: [Python] Ayuda con registro de usuarios usando ficheros .txt
« Respuesta #1 en: 15 Julio 2015, 11:56 am »

Mi duda es como podría hacer para que el usuario a registrar antes de ser registrado sea verificado si esta o no en el archivo "usuarios_registrados.txt" el cual creé para luego registrarlo.

Debería hacer uso de un siclo for, para leer las lineas del documento y compararlas?

Si, bien puedes usar un búcle para iterar las lineas y evaluar cada una de ellas.

En otros casos, donde no hiciese falta verificar palabras completas en una colección de strings, podrías utilizar la función find:
string.find(s, sub[, start[, end]])¶

    Return the lowest index in s where the substring sub is found such that sub is wholly contained in s[start:end]. Return -1 on failure. Defaults for start and end and interpretation of negative values is the same as for slices.

O también el keyword "In" (if str in col), pero dado el caso esas alternativas ahora mismo no te sirven.

Yo te sugiero utilizar un loop cómo ya pensaste, o igualmente expresiones regulares.

Esta función devolverá True si el nombre de usuario se encuentra en el archivo especificado:

Código
  1. import re
  2.  
  3. def find_username(filepath, username):
  4.    with open(filepath) as filestream:
  5.        return re.search(r"^" + re.escape(username) + r"$", filestream.read(), re.MULTILINE) != None
  6.  
  7. print find_username("C:\usuarios_registrados.txt", "elektro")

Saludos


En línea



pysQl

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: [Python] Ayuda con registro de usuarios usando ficheros .txt
« Respuesta #2 en: 15 Julio 2015, 15:49 pm »

Primero lo primero, agradecido estoy por tu respuesta.
Imaginate recién lo que vengo aprendiendo que hasta me cuesta el lenguaje un tanto "técnico" sobre programación.. jaja

bueno, gracias de nuevo, me has motivado a estudiar un poco los módulos que python me ofrece, para probablemente conocer más funciones y hacer las propias..

aunque no sepa aún que contestar te digo que ya he culminado con mi primer programa :) usando un bucle iterando lineas y su post-evaluación xD y listo :)
gracias también por tu ejemplo de función importando "re"

pretendía sacarme otras dudas con respecto a esto en este mismo tema y con esto lo cierro:
¿ Que base de datos debería utillizar/aprender para comenzar a programar junto a Python y hacer un poco de programación web?

¿ Hoy día Python 3.4 es utilizable y estable ? o sería preferible usar Python 2.7 ?

Saludos,

En línea

LaThortilla (Effort)

Desconectado Desconectado

Mensajes: 234


¿En que vida harás lo que en esta no?


Ver Perfil WWW
Re: [Python] Ayuda con registro de usuarios usando ficheros .txt
« Respuesta #3 en: 24 Julio 2015, 23:12 pm »

¿ Que base de datos debería utillizar/aprender para comenzar a programar junto a Python y hacer un poco de programación web?

- si piensas enfocar tus scripts a la programación web aprende o bien mySQL o SQL ...
- si necesitas base de datos para tu programa podrías usar SQLite3 que utiliza la misma sintaxis que mySQL...


¿¿ Hoy día Python 3.4 es utilizable y estable ? o sería preferible usar Python 2.7 ?

ambas versiones ya son estables pero a mi gusto y mi experiencia python 2.7 es bueno..
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Confirmacion de registro de usuarios [AYUDA]
PHP
ondine 2 2,008 Último mensaje 5 Diciembre 2007, 00:00 am
por ondine
Sistema de Login - Registro [Usando el registro de Windows]
Programación Visual Basic
ToNy_EsP 2 4,263 Último mensaje 28 Febrero 2009, 18:10 pm
por seba123neo
ayuda con registro de usuarios mysql
PHP
Anonx 8 3,383 Último mensaje 12 Febrero 2013, 14:18 pm
por Anonx
AYUDA Registro y sistema de verificación de usuarios
PHP
J0RG325 2 2,387 Último mensaje 11 Abril 2013, 16:55 pm
por Phantasy
Ayuda con ficheros y directorios en C++ usando Codeblocks
Programación C/C++
nadales56 7 6,788 Último mensaje 11 Marzo 2019, 10:30 am
por nadales56
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines