我用python编写了一段代码,我有一个函数(f,用Freefem++编写),它的输入来自python的代码。问题是我不知道如何在我的python代码中调用用freefem++编写的函数。
这段代码是用python编写的,函数"f“假定是用Freefem++编写的。
for i in range (popsize):
pop[i][N]=f(pop[i][0],pop[i][1])提前谢谢你。
发布于 2018-05-23 05:35:42
Freefem++是用C++编写的,据我所知,没有用C++编写的允许Freefem++和Python语言之间通信的应用程序接口。
我的建议如下:
subprocess模块直接“输出”结果并从python中读取标准输出。import subprocess
dep_file_path="simulation.edp"
bashCommand = ["Freefem++", edp_file_path]
process = subprocess.Popen(bashCommand, stdout=subprocess.PIPE)
output, error = process.communicate()
print(output)这样,您应该能够通过执行python代码来读取FreeFem模拟的输出。
您可以尝试一种更直接的方法,在C++中工作,但由于缺乏关于FreeFem++内核开发的良好文档,这条道路要困难得多。在这里,您将找到一些如何将简单的C++类与FreeFem++ Link to Githb接口的示例。
发布于 2021-01-14 00:24:04
A.G.的答案是好的,但我想说的是,你可以利用管道,它允许你在两个程序之间进行通信,而不使用文件,这是一个瓶颈。请参阅此处的示例Pipeline (Wikipedia)
https://stackoverflow.com/questions/26799567
复制相似问题