On Jul 26, 5:42 pm, "Francesco Pietra" <[EMAIL PROTECTED]> wrote: > I am still at the stone age, using scripts (e.g., to insert a string > after a string) of the type > > f = open("xxx.pdb", "r") > for line in f: > print line > if "H16Z POPC" in line: > print "TER" > f.close() > > That is, I have to learn about modules. In your scripts I am lost > about the filename for the pdb file to modify,
In Python, stdin and stdout (as provided by the sys module) is a file- like object, i.e. it have similar behavior as regular files you opened with open(). stdin is a read-only file, while stdout is a write-only file. You already know how to make read-only file, f = open("xxx.pdb", "r"), to make it writable, you've got to use 'w' as the mode: f = open("xxx.pdb", "w") After that you can do this: f.write('some string') > francesco > > > > On Sat, Jul 26, 2008 at 11:35 AM, Lie <[EMAIL PROTECTED]> wrote: > > On Jul 26, 2:41 pm, "Francesco Pietra" <[EMAIL PROTECTED]> wrote: > >> How to insert letter "A" on each line (of a very long list of lines) > >> at position 22, i.e., one space after "LEU", leaving all other > >> characters at the same position as in the original example: > > >> ATOM 1 N LEU 1 146.615 40.494 103.776 1.00 73.04 > >> 1SG 2 > > >> In all lines"ATOM" is constant as to both position and string, while > >> "LEU" is constant as to position only, i.e., "LEU" may be replaced by > >> three different uppercase letters. Therefore, the most direct > >> indication would be position 22. > > >> Should the script introduce blank lines, no problem. That I know how > >> to correct with a subsequent script. > > >> Thanks > >> chiendarret > > > If you want to leave the rest of the strings as-is (i.e. the letter A > > overwrites whatever on position 22), Peter's code need to be modified > > a little: > > line = line[:22] + " " + line[23:] > > -- > >http://mail.python.org/mailman/listinfo/python-list > > -- > Dr Francesco Pietra > Professor of Chemistry > Accademia Lucchese di Scienze, Lettere e Arti, founded in 1594 > Palazzo Ducale > 55100 Lucca (Italy) > e-mail [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list