El proposito de este programa es buscar palabras dentro de un archivo,
pasandole como argumento otro archivo que contiene una lista de
palabras.
Funciona a medias, me explico!!! solo lee la primera palabra de cada linea.
Por ejemplo, supongamos esta linea: "uno, dos, tres, cuatro,..." y en
el archivo de palabras, las tengo todas pero, solo me encuentra la
primera.
Por que?????
Eso es lo que necesito saber.
Os dejo el codigo, y asi lo entendereis mejor.
#!/usr/bin/env python
import os,argparse
# Argumentos
parser = argparse.ArgumentParser(description='busca las cadenas de
archivo1 en archivo2')
parser.add_argument('-a','--archivo1', help='archvio contine cadenas',
required=True)
parser.add_argument('-A','--archivo2', help='archivo en el que
buscamos', required=True)
args = parser.parse_args()
file1 = args.archivo1
file2 = args.archivo2
try:
# Abro el archivo 1
archivo1 = open(file1,'r')
# Leo todo el archivo1
lee1 = archivo1.readlines()
for i in lee1:
# Abro archivo 2
archivo2 = open(file2,'r')
# Leo completamente el archivo2
lee2 = archivo2.read()
# -1 no esta, distinto de -1, si esta
if lee2.find(i) != -1:
# Muestra coincidencias
print i
archivo2.close()
archivo1.close()
except IOError:
print 'El archivo indicado no existe'
El 9/6/14, Flavio Danesse <
fdan...@gmail.com> escribió:
> Si abres el archivo y lo lees, pasandole su contenido a una variable, esa
> variable será de tipo string.
> Y los objetos string tienen una función llamada *find*
>
> *find(s, *args)*
>
> *rfind(s, sub [,start [,end]]) -> in*