[英]How to deal with global variables when calling fortran code in python (e.g. with f2py)?
我想用python運行一些fortran代碼,並為此使用f2py -c -m 。 但是,似乎只有.FUNCTIONs被打包到.so文件中,而沒有打包到PROGRAM中 。 那我該如何處理全局變量呢? 例如,將變量c放入模塊中
MODULE nfw
double precision :: c
END MODULE nfw
,在PROGRAM中進行了修改,並且由FUNCTION隱式使用在同一文件中
PROGRAM Compute_Profile
USE nfw
c = 5.0
END PROGRAM Compute_Profile
DOUBLE PRECISION FUNCTION y(x)
USE nfw
double precision :: x
y = c * x
return
END FUNCTION y
如何調用y(x)函數了解python中c的值?
在f2py模塊下應該是另一個模塊,一個名為nfw的Fortran。 它應該在那里。
$ f2py -c -m mod nfw.f90
$ python
import mod
mod.nfw.c
array(0.0)
確保使用帶有f2py的模塊編譯源文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.