Fortran程序生成的某些结果文件使用字母D
而不是E
报告双精度数字(科学记数法),例如:
1.2345D+02
# instead of
1.2345E+02
我需要使用Python处理大量的数据,但我刚刚意识到它无法读取D
符号中的数字,例如:
>>> A = 1.0D+01
File "<stdin>", line 1
A = 1.0D+01
^
SyntaxError: invalid syntax
我可以改变我的语言环境,让Python知道D
意味着E
吗?我真的不想进行全局搜索和替换!
3条答案
按热度按时间daupos2t1#
在Python程序中,最简单的方法就是在解释每个条目之前添加一个步骤:
fd3cxomn2#
如果你正在处理大量的数据和/或正在用这些数据做大量的计算,你可以考虑使用fortran友好的numpy模块,它支持开箱即用的双精度fortran格式。
abithluo3#
另一个选择是Python的fortranformat库,它将读取字符串并根据FORTRAN格式语句解释它们。
使用
easy_install -U fortranformat
安装有任何问题,请发邮件给我(我是作者)。