Some results file produced by Fortran programs report double precision numbers (in scientific notation) using the letter D instead of E, for instance:
1.2345D+02
# instead of
1.2345E+02
I need to process huge amounts of this data using Python, and I just realized it cannot read the numbers in the D notation, for instance:
>>> A = 1.0D+01
File "", line 1
A = 1.0D+01
^
SyntaxError: invalid syntax
Can I change my locale and let Python know that D means E? I really would not want to make a global search-and-replace!
解决方案
The simplest way, from your Python program, would be just to add a step before you interpret each entry:
>>> val = "1.5698D+03" # 1,569.8
>>> print float(val.replace('D', 'E'))
1569.8