【发布时间】:2019-07-03 08:03:13
【问题描述】:
我正在使用 f2py 编译一个 Fortran 库,这样我就可以将它导入 python 中,这样我就可以轻松地创建单元测试。但是,模块中的一个函数使用可分配数组从文件中读取矩阵(直到读取矩阵的大小才知道)。不幸的是,f2py 不支持可分配数组,因此编译失败。
我可以使用模块中的注释告诉 f2py 只忽略有问题的函数吗?
我知道skip 可以在编译时指定函数列表,但我希望有一个可以在源文件中实现的解决方案,例如修改参数处理方式的!f2py cmets通过 f2py。
【问题讨论】:
-
要执行部分包装,您可以使用
.pyf文件。过程如下: 使用-m module_name -h module_file.f90生成默认的.pyf文件。编辑.pyf文件以仅保留您想要向 Python 公开的内容。使用f2py -c编译Fortran 代码和接口。通过列出.pyf和.f90文件,该进程应该正确地使用包装器。我在一个小样本上成功测试。让我知道它是否有效,以便我发布正确的答案。
标签: python unit-testing fortran f2py