nuevo "programando"

Jose Luis Dominguez NONLILLY DOMINGUEZ_JOSE_LUIS_NONLILLY en LILLY.COM
Jue Jul 12 15:16:08 CEST 2007


Podrías hacer una cosa así

f=open("TuArchivo")
l=[v for v in f.readlines() if v.find("frecuencia")==5]
f.close()
s=open("Salida", "w")
for v in l:
   s.write(v)
s.close()

python-es-bounces en aditel.org wrote on 12/07/2007 12:19:42:

> Hola a todos, soy nuevo en esto de la programación, o más bien hacer 
> pequeños scripts, estoy aprendiendo y me han recomendado python por ser 
un 
> lenguaje claro y sencillo. Mi problema es que para alguna cosa tengo 
> prisa. Explico lo que quiero hacer:
> 
> Tengo un  archivo x de unas 2000 lineas, de las cuales me interesan 300. 

> Empiezan por la palabra "     frecuencia" con espacios. Lo que quiero 
> hacer es que me escriba esas lineas en otro archivo de salida, digamos 
y. 
> Con el comando 
> 
> string.find('frecuencia' ) 
> 
> se supone que encuentra la palabra en una cadena, y con 
> 
> f=open('x','r')
> for linea in f:
> 
> estoy haciendo que lea todo el archivo y convientiendo cada linea en una 

> cadena no?? pero el problema es que find devuelve un número o -1 si no 
> esta la palabra deseada. Me interesaría que si el valor que devuelve es 
> distinto de -1 (!= significa distinto no??) pues que escriba la línea, y 

> si es = -1 no haga nada.
> He probado el string.find('frecuencia' ) en por ejemplo string = 'hola 
> frecuencia' y en el interprete interactivo me funciona y devuelve 5, 
pero 
> si lo ejecuto como script , ¿donde diablos aparece ese 5? ¿como hago que 

> lo escriba en el archivo y?
> 
> Bueno, como veís estoy muy pardillo, imagino que será normal al 
principio, 
> si nunca se ha programado...
> 
> ____________________________
> Hegoi Manzano Moro, PhD Student
> 
> e-mail:  hmanzano en labein.es 
> Tel:   94 607 3300  ext. 2774
> Fax: +34-946073349
> 
> Nanomaterials on construction , NANOC.
> LABEIN-TECNALIA
> C/ Geldo, edif 700
> Parque Tecnológico de Bizkaia
> 48160 Derio, Bizkaia
> 
> 
> 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
> 
> Imprime sólo lo imprescindible, recuerda tu compromiso con el MEDIO 
> AMBIENTE // Behar beharrezkoa baino ez imprimatu, gogoratu zure 
> INGURUGIROArekiko konpromezua // Before printing think about the 
ENVIRONMENT
> 
> 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
> Este mensaje se dirige exclusivamente a su destinatario y puede 
> contener información privilegiada o confidencial. Si no es vd. el 
> destinatario indicado, queda notificado de que la utilización, 
> divulgación y/o copia sin autorización está prohibida en virtud de 
> la legislación vigente. Si ha recibido este mensaje por error, le 
> rogamos que nos lo comunique inmediatamente por esta misma vía y 
> proceda a su destrucción.
> 
> Mezu honek eta erantsita dituen agiriek (baldin baditu) isilpeko 
> informazioa izan dezakete. Hori dela eta, hutsegite baten ondorioz 
> jasotzen duenak jakin beza bertan dagoen informazioa ezkutukoa dela 
> eta legeak galarazi egiten duela berori baimenik gabe erabiltzea.
> 
> This message is intended exclusively for its addressee and may 
> contain information that is CONFIDENTIAL and protected by 
> professional privilege. If you are not the intended recipient you 
> are hereby notified that any dissemination, copy or disclosure of 
> this communication is strictly prohibited by law. If this message 
> has been received in error, please immediately notify us via e-mail 
> and delete it.
> 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
> _______________________________________________
> 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