Il giorno mer 1 feb 2023 alle ore 10:25 Valerio Pachera <siri...@gmail.com>
ha scritto:

> Ciao a tutti, vorrei ottenere lo stesso risultato di
>
>     grep -Ev '(^[[:blank:]]*$|^#)'
>

 Per ora ho usato questo approccio:

with open('file.txt') as f:
    p = re.compile('^\s*$|^#.*')
    clean = [line for line in f.readlines() if not re.match(p, line)]

clean รจ una lista con le righe "buone" del file.
Notare che mantengono il \n alla fine.
Per stampare quindi il contenuto mi basta fare join di una stringa vuota.

  print(''.join(clean))

Nel mio caso specifico voglio poi portare tutto su una singola riga.
In tal caso, devo rimuovere il fine riga (usando strip) e fare il join
usando uno spazio.

with open('template.txt') as template_content:
    p = re.compile('^\s*$|^#.*')
    clean = [line.*strip*() for line in template_content.readlines() if not
re.match(p, line)]
    print(' '.join(clean))

Sono comunque curioso di vedere altre implementazioni :-)
_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python

Rispondere a