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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Python 3.6] Como hacer que python lea una cadena especifica de un fichero?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Python 3.6] Como hacer que python lea una cadena especifica de un fichero?  (Leído 3,973 veces)
n1sen

Desconectado Desconectado

Mensajes: 122



Ver Perfil
[Python 3.6] Como hacer que python lea una cadena especifica de un fichero?
« en: 25 Septiembre 2017, 03:01 am »

Hola, vengo a preguntar lo que dice en el titulo, me explico:
Por ejemplo, yo en un fichero de texto tengo lo siguiente:
hola como estas

En vez de que me abra todo el archivo, necesito que lea una cadena especifica, en este caso, quiero que solo lea la cadena
"estas".

No pongo código de avance por que lo único que tengo es lo de abrir y cerrar ficheros.
Por las dudas, si busque por internet y no he encontrado nada.
Gracias.


En línea

null
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [Python 3.6] Como hacer que python lea una cadena especifica de un fichero?
« Respuesta #1 en: 25 Septiembre 2017, 03:05 am »

Código
  1. cadena = texto_desde_archivo()
  2. if "estas" in cadena:
  3.  print("la palabra está en la cadena")


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
n1sen

Desconectado Desconectado

Mensajes: 122



Ver Perfil
Re: [Python 3.6] Como hacer que python lea una cadena especifica de un fichero?
« Respuesta #2 en: 25 Septiembre 2017, 03:23 am »

Gracias  :), pero pasa lo siguiente:
Volvamos a decir que en un fichero de texto tengo esto:
di "hola"
Ya, yo quiero que lea el fichero de texto, y si se encuentra con la frase "di" siga leyendo esa linea,
en caso contrario, seguir leyendo otra linea del fichero y
cuando se tope con las comillas, quiero que extraiga el texto que aparece entre comillas.
Pero tambien sucede que uno nunca sabra que es lo que pondra el usuario, por que puede poner
gato, perro, estas, como, etc.
Ahí esta el estancamiento que he tenido.
« Última modificación: 25 Septiembre 2017, 03:29 am por n1sen » En línea

null
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [Python 3.6] Como hacer que python lea una cadena especifica de un fichero?
« Respuesta #3 en: 25 Septiembre 2017, 03:33 am »

Código
  1. if "di" in texto:
  2.  arreglo = texto.split('"')
  3.  decir = arreglo[1]
  4.  print(decir)

esto es una manera poca ortodoxa pero funcional en python, split, partirá la cadena como un array basado en el separador indicado en este caso comillas dobles... entonces si el texto es
Código:
di "hola mundo"

quedará
Código:
[0]: "di"
[1]: "hola mundo"
[2]: ""

el ultimo queda vacio porque separó por comillas a pesar que luego de la ultima comilla no había nada

aquí detalle sobre split

a demás cumplirá tambien la funcion de sacar las comillas de la ecuación
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
n1sen

Desconectado Desconectado

Mensajes: 122



Ver Perfil
Re: [Python 3.6] Como hacer que python lea una cadena especifica de un fichero?
« Respuesta #4 en: 25 Septiembre 2017, 03:36 am »

Gracias :)
En línea

null
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [Python 3.6] Como hacer que python lea una cadena especifica de un fichero?
« Respuesta #5 en: 25 Septiembre 2017, 03:40 am »

ojo... lo bueno de ese metodo es que si el usuario introduce comillas adicionales no rompe el codigo, sino simplemente genera "comportamiento inesperado" la forma común sería con find y rfind, buscar la primera y ultima comilla, así permitiría usar comillas en medio del texto, pero esto te causaría usar más validaciones (tambien puedes poner como validación que si el largo del array es mayor que 3 lance un error, hay comillas de más)
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines