[Tutor] python precision output?

Andre Walker-Loud walksloud at gmail.com
Thu Dec 6 23:05:08 CET 2007


Hi there,

I am using python to do some scripting.  In particular, I am using it  
to run some jobs which require precision inputs.  I do this by having  
python write an input file, which I then feed to some other program.

The problem I am having is getting python to write number into this  
input file, keeping 16 digits of precision.  I have played around  
interactively, and see that python default prints 17 digits of  
precision to the screen, but when I use a replace command to write  
into the input file, it only prints 12 digits of precision.  The  
relevant snipit of my script is

value = float( int(ai) * 6 * math.pi / (int(L)*int(T))
replace = {'VALUE':str(value)}
ini_file = open('generic_ini').read()
f=open('my_input.xml','w')
f.write(ini_file % replace)
f.close()

where, "ai", "L" and "T" are process dependent numbers defined in my  
script, and the output "my_input.xml", is just an xml file I later  
feed to another program, and this is why I replace 'VALUE' with a  
string.

To reiterate, I need str(value) to be written to my file with 16  
digits of precision...???


Thanks,
Andre


More information about the Tutor mailing list