python調(diào)用fortran模塊
在python中調(diào)用fortran代碼,要用到f2py這個(gè)程序。它的項(xiàng)目主頁在此。現(xiàn)在該項(xiàng)目已經(jīng)合并到numpy中了,先安裝python再裝好numpy,就可以使用f2py。不過對windows平臺(tái)必須使用gnu的fortran編譯器gfortran,在此下載。裝完了python,numpy和gfortran這三樣?xùn)|西之后,還必須更改如下幾個(gè)環(huán)境變量:
1.在$PATH中添加gfortran的路徑,我的是c:\Program Files\pythonxy\mingw\bin\
2.在$PATH中添加python的路徑,我的是c:\Python26\
3.新建環(huán)境變量C_INCLUDE_PATH,添加gfortran頭文件的路徑,我的是c:\Program Files\pythonxy\mingw\include\
好啦現(xiàn)在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
運(yùn)行
$ 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支持的數(shù)據(jù)類型有
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
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡
相關(guān)文章
jupyter notebook 中輸出pyecharts圖實(shí)例
這篇文章主要介紹了jupyter notebook 中輸出pyecharts圖實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06Python中openpyxl實(shí)現(xiàn)vlookup函數(shù)的實(shí)例
在本篇文章里小編給大家整理的是關(guān)于Python中openpyxl實(shí)現(xiàn)vlookup函數(shù)的實(shí)例內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。2020-10-10在Pandas中DataFrame數(shù)據(jù)合并,連接(concat,merge,join)的實(shí)例
今天小編就為大家分享一篇在Pandas中DataFrame數(shù)據(jù)合并,連接(concat,merge,join)的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01Python 專題二 條件語句和循環(huán)語句的基礎(chǔ)知識
本文主要介紹了Python條件語句和循環(huán)語句的基礎(chǔ)知識。主要內(nèi)容包括: 1.條件語句:包括單分支、雙分支和多分支語句,if-elif-else;2.循環(huán)語句:while的使用及簡單網(wǎng)絡(luò)刷博器爬蟲;3.循環(huán)語句:for的使用及遍歷列表、元組、文件和字符串。2017-03-03