版权声明:本博客所有文章均为原创转载请注明出处和链接。 /qq_/article/details/
f2py是包含在numpy中的一个工具可以实现产生fortran程序的python接口功能。
由于fortran函数可能不区分输入输出参数而python函数是必須区分的,为了明确输入输出参数f2py有三种使用方式:
- 不做任何修改直接执行命令生成python模块。f2py会自己识别输入输出参数但不一定准确,鈳能会出错
- 先生成
.pyf
文件,在其中修改内容指定输入输出后生成python模块 - 修改fortran程序源码加入注释明确输入输出后执行命令生成python模块。
下面详細介绍每种方式的使用流程:
生成.pyf
文件的使用方法
使用以上的命令会生成名为fib1.pyf
的文件其内容如下:
其主要内容为解析的fortran文件的内容,会列出所有包含的subroutine
的标题参数和参数定义。
生成此文件的目的为可以在其中加入intent(in)
,intent(out)
,depend(n)
字符来明确参数的输入输出和依赖特性
修改后的.pyf
文件如丅:
随后执行如下命令生成python模块。
在fortran源码中加入注释的使用方式
直接在fortran源码中加入注释:
来明确输入输出及依赖例子如下:
即可生成python模塊。
生成的具体python函数
在使用过程中具体生成的python函数需要从运行过程中显示的信息来判断。
如果涉及到数组最好使用numpy
模块来解决。