python调用fortran模块_python教程-查字典教程网
python调用fortran模块
python调用fortran模块
发布时间:2016-12-28 来源:查字典编辑
摘要:在python中调用fortran代码,要用到f2py这个程序。它的项目主页在此。现在该项目已经合并到numpy中了,先安装python再装...

在python中调用fortran代码,要用到f2py这个程序。它的项目主页在此。现在该项目已经合并到numpy中了,先安装python再装好numpy,就可以使用f2py。不过对windows平台必须使用gnu的fortran编译器gfortran,在此下载。装完了python,numpy和gfortran这三样东西之后,还必须更改如下几个环境变量:

1.在$PATH中添加gfortran的路径,我的是c:Program Filespythonxymingwbin

2.在$PATH中添加python的路径,我的是c:Python26

3.新建环境变量C_INCLUDE_PATH,添加gfortran头文件的路径,我的是c:Program Filespythonxymingwinclude

好啦现在f2py就可以用了。新建fortran程序foo.f90如下

foo.f90

subroutine hello (a) integer a write(*,*)'Hello from Fortran90!!!',a end subroutine hello

编译

f2py -m foo -c foo.f90

运行

$ python Python 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import foo >>> foo.hello(15) Hello from Fortran90!!! 15

另外附上f2py支持的数据类型有

integer[ | *1 | *2 | *4 | *8 ], logical[ | *1 | *2 | *4 | *8 ] integer*([ -1 | -2 | -4 | -8 ]) character[ | *(*) | *1 | *2 | *3 | ... ] real[ | *4 | *8 | *16 ], double precision complex[ | *8 | *16 | *32 ] <dim> | <start>:<end> | * | : intent([ in | inout | out | hide | in,out | inout,out | c | copy | cache | callback | inplace | aux ]) dimension(<dimspec>) common, parameter allocatable optional, required, external depend([<names>]) check([<C-booleanexpr>]) note(<LaTeX text>) usercode, callstatement, callprotoargument, threadsafe, fortranname pymethoddef entry

以上所述就是本文的全部内容了,希望大家能够喜欢

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新python学习
    热门python学习
    脚本专栏子分类