On 04/10/2011 0.12, Tyler Glembo wrote:
Hi All,
So I have a ~3000 line fortran code that needs to be updated to run new files 
by simply updating a few lines in the code (~10
lines).  I thought python would be a great way to do so since I know a little 
python but not fortran.  So, my plan was to read in
each line, and then at a certain line number, write out the changed code.  A 
short snippet is as follows:

dest= open( f1, "w" )
source= open( f2, "r" )
for line in source:
    if X:
       dest.write( newline + "\n" )
    else:
       dest.write( line )
dest.close()
source.close()

The problem I am having is with hidden/invisible character.  In the fortran 
code, there are line indents which are denoted with an
invisible character ^I.  When I write with python, there is no ^I at the 
beginning of the line and the fortran code no longer
compiles.  I know how to put in the invisible line return character (\n), but 
how can I put in other invisible characters?

I think you could avoid entirely this problem by using the binary option in the 
open function:

dest= open( f1, "wb" )
source= open( f2, "rb" )

This way, each read and each write you perform will take into account all kinds of characters, and so your written lines will be identical to those you read. If the problem was only with the "newline" lines, then Steven's answer has already solved your problem.

Hope that helps

Francesco


-----
Nessun virus nel messaggio.
Controllato da AVG - www.avg.com
Versione: 10.0.1209 / Database dei virus: 1500/3564 -  Data di rilascio: 
10/04/2011

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to