使用f2py时遇到一些麻烦。我已经编译成以下代码到.so文件就好了,它导入我的python代码就好了,但我只是想知道如何使用它。我知道有一个命令文档,但是jus说这个模块没有名为“doc”的属性
Fortran代码:
subroutine Test
implicit none
real, dimension(3600000) :: Alpha,Sigma
open(10, file='Alpha.txt')
read(10, *) Alpha
Sigma = (87.6*2)/((87.6*(sin(Alpha))**2)+(2*cos(Alpha)**2))
end subroutine
Python代码:
import matplotlib.pyplot as plt
import numpy as np
import Sigma
print(Sigma._doc_)
错误:
File "/home/tom/Desktop/f2py/Plot.py", line 5, in <module>
print(Sigma._doc_)
AttributeError: 'module' object has no attribute '_doc_'
我是否必须以某种方式将doc属性输入到原始的fortran代码中?如果是这样,我该怎么办呢?
根据他们的example,看起来你需要在module.subroutine.__doc__
上打印。
如果我将文件保存到test1.f90
,然后编译它
f2py -c test1.f90 -m test1
然后查询doc字符串。
~$ python
Python 3.6.4 (default, Jan 5 2018, 02:35:40)
[GCC 7.2.1 20171224] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> import test1
>>> print(test1.test.__doc__)
test()
Wrapper for ``test``.
>>>
这对我来说很好,因为你没有争论到Test
。