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