返回顶部
首页 > 资讯 > 后端开发 > Python >python调用fortran模块
  • 724
分享到

python调用fortran模块

模块pythonfortran 2022-06-04 19:06:40 724人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

在python中调用fortran代码,要用到f2py这个程序。它的项目主页在此。现在该项目已经合并到numpy中了,先安装Python再装好numpy,就可以使用f2py。不过对windows平台必须使用

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

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

--结束END--

本文标题: python调用fortran模块

本文链接: https://lsjlt.com/news/15085.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python调用fortran模块
    在python中调用fortran代码,要用到f2py这个程序。它的项目主页在此。现在该项目已经合并到numpy中了,先安装python再装好numpy,就可以使用f2py。不过对windows平台必须使用...
    99+
    2022-06-04
    模块 python fortran
  • Python调用Fortran的三种形式
    目录1. 简介2. Python调用Fortran的三种方法2.1 基于 F2PY的f2py调用Fortran2.2 使用动态链接库调用Fortran2.3 利用Python的os包...
    99+
    2023-05-15
    Python调用Fortran三种形式 Python调用Fortran
  • Python调用Fortran的方法有哪些
    本篇内容介绍了“Python调用Fortran的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 简介在一些研究领域很多经典算法...
    99+
    2023-07-06
  • Python怎么调用MySQL模块
    Python怎么调用MySQL模块,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。调用MySQL  其实mysql模块有点类似于JDBC的一种角色,提供了访问数据库的一...
    99+
    2023-06-04
  • Python 模块调用和global的用
      现有两个文件,一个的文件名为ideal.py,另一个为hub.py,两者都在目录modualsio里。ideal的具体内容为:num = 3class Foo(object):    global num    def foo(self...
    99+
    2023-01-31
    模块 Python global
  • python使用stub模块调用wcf
    </pre><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><blockquote style="margin: 0 0...
    99+
    2023-01-31
    模块 python stub
  • Python中怎么调用C模块
    本篇文章为大家展示了Python中怎么调用C模块,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一.c,ctypes和python的数据类型的对应关系ctypes type ctype Python ...
    99+
    2023-06-17
  • python怎么跨模块调用变量
    在Python中,可以通过以下几种方式跨模块调用变量:1. 使用全局变量:在一个模块中定义一个全局变量,在其他模块中可以直接引用该变...
    99+
    2023-09-29
    python
  • python调试模块ipdb怎么使用
    1. 调试pythonipdb是用来python中用以交互式debug的模块,可以直接利用pip安装;其功能类似于pycharm中 python控制台,而使用ipdb 的优点,便是直接在代码中调试,避免了在python控制台,或者重新设置一...
    99+
    2023-05-14
    Python
  • python调试模块ipdb详解
    目录1. 调试python1.1 使用ipdb1.2 常用命令1. 调试python ipdb是用来python中用以交互式debug的模块,可以直接利用pip安装; 其功能类似于p...
    99+
    2023-03-19
    python调试ipdb python调试模块ipdb
  • Python任务调度模块APSched
    介绍 官网文档:http://apscheduler.readthedoc...API:http://apscheduler.readthedoc... APScheduler是一个python的第三方库,用来提供python的后台程序。...
    99+
    2023-01-31
    模块 Python APSched
  • Python中怎么引入和调用模块
    这篇文章将为大家详细讲解有关Python中怎么引入和调用模块,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. import在Python中用关键字import来引入某个模块,比如要引用模块...
    99+
    2023-06-15
  • python怎么自定义模块并调用
    要自定义一个模块并在Python中调用,可以按照以下步骤进行操作:1. 创建一个新的Python文件,命名为你想要的模块名字,比如`...
    99+
    2023-10-11
    python
  • python怎么调用自己写的模块
    要调用自己写的模块,可以按照以下步骤进行操作:1. 创建一个Python脚本,并在其中定义你自己的模块。例如,你可以在一个名为`my...
    99+
    2023-08-23
    python
  • 使用Python模块:struct模块
    Python没有提供直接的将用户定义的数据类型和文件IO关联起来的功能,但是它提供了struct库(是一个内置库)——我们可以以二进制模式来写这些数据(有趣的是,它真的是设计来讲文本数据写为缓存的) 1)bytes、str...
    99+
    2023-01-31
    模块 Python struct
  • Python模块怎么实现简单的调用
    这篇文章给大家分享的是有关Python模块怎么实现简单的调用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通...
    99+
    2023-06-14
  • Python打包成库供别的模块调用
    1.创建python项目bricewulib 2.新建test_package包并创建info1类以及print_hello方法 3.为了让包的结构再复杂点,我们再在test_package下面新建一个test_package...
    99+
    2023-01-31
    模块 Python 成库供
  • python跨模块调用变量怎么实现
    Python中,要实现跨模块调用变量,可以使用以下方法: 使用全局变量:在一个模块中定义一个全局变量,其他模块可以直接引用该全局变...
    99+
    2023-10-27
    python
  • C/C++调用Fortran的DLL的操作过程
    目录【混合编程】C/C++调用Fortran的DLL一、Fortran操作1.1 Fortran代码1.2 Dll工程文件建立二、C / C++调用三、完整代码3.1 Fortran...
    99+
    2024-04-02
  • Python模块:time模块
    time模块:python中处理时间的基础模块,有时间戳,元组,自定义,三种时间表现形式。python中时间戳的值是以1970年1月1日0点开始计算的,单位是秒。时间戳:就是两个时间差的数值。时区:传说中在开发服务器/客户端程序时,时区不一...
    99+
    2023-01-31
    模块 Python time
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作