python调用fortran模块
作者:hebedich 时间:2023-12-22 23:36:40
在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 ]
<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,调用fortran
0
投稿
猜你喜欢
简单学习Python time模块
2021-04-24 00:18:53
mysql实现合并同一ID对应多条数据的方法
2024-01-15 16:19:34
python实现网页自动签到功能
2024-01-03 00:13:14
Golang实现单链表的示例代码
2024-02-11 15:09:27
详解前端自动化工具gulp自动添加版本号
2023-08-09 14:48:41
Python异步操作MySQL示例【使用aiomysql】
2024-01-16 20:22:07
《悟透JavaScript》感谢语
2008-11-12 12:59:00
解决Laravel使用验证时跳转到首页的问题
2023-07-12 09:02:13
python 定时修改数据库的示例代码
2024-01-25 00:31:40
总结Python图形用户界面和游戏开发知识点
2022-03-03 18:36:25
星球大战与Python之间的那些事
2023-05-25 13:49:35
python中的argparse基本用法(使用步骤)
2023-06-12 20:01:36
详解SQL中Group By的用法
2024-01-28 14:01:32
Python的Asyncore异步Socket模块及实现端口转发的例子
2023-04-23 13:24:38
关于python 的legend图例,参数使用说明
2022-07-21 10:10:13
Pygame代码 制作一个贪吃蛇小游戏
2022-06-29 03:04:27
详解Python中namedtuple的使用
2022-05-11 01:29:00
vue中v-for通过动态绑定class实现触发效果
2024-04-09 10:45:21
交互设计实用指南系列(10)—别让我思考
2010-03-01 12:50:00
Python编程入门指南之函数
2021-05-13 15:45:31