Delete lines containing a specific word
Francesco Pietra
chiendarret at yahoo.com
Sun Jan 6 16:33:52 EST 2008
Steven:
Thanks. See below please (of very marginal interest)
--- Steven D'Aprano <steven at REMOVE.THIS.cybersource.com.au> wrote:
> On Sun, 06 Jan 2008 09:21:33 -0800, Francesco Pietra wrote:
>
> > Please, how to adapt the following script (to delete blank lines) to
> > delete lines containing a specific word, or words?
>
> That's tricky, because deleting lines from a file isn't a simple
> operation. No operating system I know of (Windows, Linux, OS X) has a
> "delete line" function.
As I am at Debian Linux, I do that with grep -v
>
> Do you really need to delete the lines in place? It would be much simpler
> to leave the original data as-is, and create a new file with just the
> lines that aren't deleted.
>
>
> > f=open("output.pdb", "r")
> > for line in f:
> > line=line.rstrip()
> > if line:
> > print line
> > f.close()
>
> How to adapt this script:
>
> First, think about what this script does. That is, it goes through each
> line, and if the line is not blank, it prints it.
>
> What do you want it to do instead? You want it to print the line if the
> line doesn't contain a specific word. So that's the first thing you need
> to change.
>
> Secondly, you might want the script to write its output to a file,
> instead of printing. So, instead of the line "print line", you want it to
> write to a file.
may be cumbersome, though I use 2>&1 | tee output file.pdb so that I can see
what happens on the screen and have the modified file.
>
> Before you can write to a file, you need to open it. So you will need to
> open another file: you will have two files open, one for input and one
> for output. And you will need to close them both when you are finished.
>
> Does that help you to adapt the script?
>
>
> > If python in Linux accepts lines beginning with # as comment lines,
> > please also a script to comment lines containing a specific word, or
> > words, and back, to remove #.
>
> The same process applies. Instead of "delete line", you want to "comment
> line".
>
>
>
> --
> Steven
>
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>
____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
More information about the Python-list
mailing list