python调用fortran模块
程序员文章站
2022-05-05 09:09:10
...
在python中调用fortran代码,要用到f2py这个程序。它的项目主页在此。现在该项目已经合并到numpy中了,先安装python再装好numpy,就可以使用f2py。不过对windows平台必须使用gnu的fortran编译器gfortran,在此下载。装完了python,numpy和gfortran这三样东西之后,还必须更改如下几个环境变量:
1.在$PATH中添加gfortran的路径,我的是c:\Program Files\pythonxy\mingw\bin\
2.在$PATH中添加python的路径,我的是c:\Python26\
3.新建环境变量C_INCLUDE_PATH,添加gfortran头文件的路径,我的是c:\Program Files\pythonxy\mingw\include\
好啦现在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 ]| : | * | : intent([ in | inout | out | hide | in,out | inout,out | c | copy | cache | callback | inplace | aux ]) dimension( ) common, parameter allocatable optional, required, external depend([ ]) check([ ]) note( ) usercode, callstatement, callprotoargument, threadsafe, fortranname pymethoddef entry
以上所述就是本文的全部内容了,希望大家能够喜欢
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
上一篇: mysql自动化安装脚本(ubuntu and centos64)_MySQL
下一篇: 文件包含
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论