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