Eliminar linea de un archivo similar a comando GREP

Roberto Bonvallet rbonvall en alumnos.inf.utfsm.cl
Lun Ago 29 15:07:08 CLT 2005


Jesus Aneiros Sosa escribio:
> On Mon, 29 Aug 2005, Roberto Bonvallet wrote:
> > 
> >     for line in file("xaa"):
> >         if not line.find("is taked") >= 0:
> >             print line
> 
> En mi ultimo vistazo a Python habia que compilar explicitamente las RE. 
> Puaf!

El método find no recibe una RE sino un substring.  De todas maneras,
puedes usar REs sin compilarlas:

    re.match(r"\d{7,8}-[0-9k]", mi_hermoso_string)

aunque yo encuentro más legible compilarlas primero, para poder
referirse a ellas de manera más clara:

    rut = re.compile(r"\d{7,8}-[0-9k]")
    ...
    rut.match(mi_hermoso_string)

El código queda mucho más claro cuando las REs son monstruosas.  En perl
también se puede:

    $http_header = qq(EXPRESION KILOMÉTRICA PARA CALZAR HTTP);
    ...
    $mi_hermoso_string ~= /$http_header/;

Lamentablemente la mayoría prefiere salpicar el código con expresiones
regulares ilegibles.

...pero me parece que nos hemos alejado bastante del tema original.
-- 
Roberto Bonvallet


Más información sobre la lista de distribución Linux