ayuda

Chema Cortés py en ch3m4.org
Vie Ago 20 10:50:34 CEST 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Thursday 19 August 2004 18:08, alexander rodriguez wrote:

> el problema que tengo es que ya leyendo un archivo .txt y buscando la
> palabra con findall()dentro de las lineas del archivo me arroja la
> palabra(s) similar pero lo que nesecito es que al introducir parte de la
> palabra el resultado sea toda la palabra o la linea donde se encuentre
> esta.

Deduzco que quieres hacer algo "interactivo" de modo muestre la palabra 
encontrada a medida que escribes, similar a como lo hace la barra de 
direcciones de un navegador (¿me equivoco?). El tema de leer interactivamente 
las pulsaciones de teclado no es algo trivial. Hace un tiempo puse por aquí 
una "receta" para hacerlo en linux (en windows es más fácil):

http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/203830

Supongo que éste era el problema. Si no es así, especifica algo más como el 
sistema operativo y si piensas usar algún tipo de entorno gráfico.


#!/usr/bin/python
#-*- coding: iso8859-15 -*-

import sys


FICHERO=r"fichero.txt"  #ruta al fichero
TESTIGO="@" #carácter para terminar la búsqueda
DEL=chr(127) #en windows hay que cambiarlo por chr(8)

#Importando la función getch
if "linux" in sys.platform:
    #módulo de la receta de ch3m4 para linux
    from linuxgetch import TerminalFile
    getch=TerminalFile(sys.stdin).getch
elif "win" in sys.platform:
    from msvcrt import getch
else:
    sys.exit("No sé leer el teclado en este sistema")

fichero=file(FICHERO)

print "Recorriendo el fichero: %s\n\n" % FICHERO

cadena="" #cadena de búsqueda inicial
while 1:
    c=""
    while not c:
        c=getch()

    if c==TESTIGO:
        break
    elif c==DEL:
        cadena=cadena[:-1]
    else:
        cadena+=c    
    
    print ">> '%s' --"%cadena,
    
    fichero.seek(0)  #volvemos al principio
    for linea in fichero:
        if cadena in linea:
            print linea
            break
    else:
        print "***NO ENCONTRADA***"


OJO: No lo he probado en windows.

> recuerdo que esto no es un trabajo y agradecería a la persona que se ponga
> en contacto para que me aleccione sobre python.

Espero que comprendas el código. Si hay algo que no lo ves no dudes en 
consultárnoslo.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQFBJbtdHLTQrABk8H0RAt5zAJ9PXPPPYSxBHQcLVnvAIIRoE+WKFwCePdMZ
2YlIQAerCKGY3wqahs3DQ+k=
=bUsM
-----END PGP SIGNATURE-----
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es