Sorry to come again for the same problem. On commanding: $ python script.py 2>&1 | tee fileout.pdb
nothing occurred (fileout.pdb was zero byte). The script reads: f = open("xxx.pdb", "w") f.write('line = line[:22] + "A" + line[23:]') f.close() File xxx.pdb is opened by the command: when I forgot the single quote ' after [23:] the error answer was: SynthaxError: EOL while scanning single-quoted string. Thanks francesco On Sat, Jul 26, 2008 at 1:10 PM, Lie <[EMAIL PROTECTED]> wrote: > 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 > -- http://mail.python.org/mailman/listinfo/python-list