Python可以通過使用ctypes
庫來調用Fortran方法。
下面是一個簡單的例子,展示了如何在Python中調用Fortran方法:
首先,需要編寫一個Fortran程序,并將其編譯為共享庫文件(例如,.so
文件)。
! example.f90
subroutine add(a, b, c)
integer, intent(in) :: a, b
integer, intent(out) :: c
c = a + b
end subroutine add
使用Fortran編譯器(例如gfortran)將Fortran程序編譯為共享庫文件。
$ gfortran -shared -o example.so example.f90
在Python中使用ctypes
庫加載共享庫,并調用其中的Fortran方法。
import ctypes
# 加載共享庫
example = ctypes.CDLL('./example.so')
# 定義Fortran方法的參數和返回類型
example.add.argtypes = (ctypes.c_int, ctypes.c_int, ctypes.POINTER(ctypes.c_int))
example.add.restype = None
# 調用Fortran方法
a = 2
b = 3
c = ctypes.c_int()
example.add(a, b, ctypes.byref(c))
print(c.value) # 輸出結果為 5
通過ctypes
庫,可以將Fortran方法聲明為Python函數,并通過調用這些函數來使用Fortran代碼。