select lines in python

Rhodri James rhodri at wildebst.demon.co.uk
Tue Jul 14 14:21:47 EDT 2009


On Tue, 14 Jul 2009 18:48:06 +0100, David Gibb <degibb at gmail.com> wrote:

[Something top-posted, which I've shuffled down]

> On Tue, Jul 14, 2009 at 1:33 PM, <amrita at iisermohali.ac.in> wrote:
>> Dear all,
>>
>> Can anyone tell me that suppose i have a file having content like:
>>
>>    _Atom_name
>>      _Atom_type
>>      _Chem_shift_value
>>      _Chem_shift_value_error
>>      _Chem_shift_ambiguity_code
>>     1     1   PHE       H     H      8.49     0.02     1
>>     2     1   PHE       HA    H      4.60     0.02     1
>>     3     1   PHE       CA    C     57.83      0.3     1
>>     4     2   LEU       H     H      8.23     0.02     1
>>     5     2   LEU       HA    H      4.25     0.02     1
>>     6     2   LEU       HB2   H      1.54     0.02     1
>>     7     3   ASP       H     H      8.10     0.02     1
>>     8     3   ASP       HA    H      4.52     0.02     1
>>     9     3   ASP       HB2   H      2.65     0.02     1
>> stop
>>
>>
>> now what i want that instead of copying all the lines it will just write
>> the information about PHE and ASP then how i acn do that using python
>> programming.Kindly tell me the command for that.

> try something like:
>
> for line in open("filename").readlines():
>     if (re.search("PHE|ASP",line):
>         print line
>

The readlines() is unnecessary, and if your file is at all long you'd
be better off precompiling the regular expression.

import re

expr = re.compile("PHE|ASP")
with open("filename") as f:
     for line in f:
         if expr.search(line):
             print line

-- 
Rhodri James *-* Wildebeest Herder to the Masses



More information about the Python-list mailing list