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. 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. 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