链接C++;使用Python脚本的程序输出 我有一个C++程序,它使用一些非常具体的方法来计算数据集(30000个元素)的成对距离。输出文件为20 GB,如下所示: point1, point2, distancex pointi, pointj, distancexx ..... 点1,点2,距离X 点i,点j,距离xx .....

链接C++;使用Python脚本的程序输出 我有一个C++程序,它使用一些非常具体的方法来计算数据集(30000个元素)的成对距离。输出文件为20 GB,如下所示: point1, point2, distancex pointi, pointj, distancexx ..... 点1,点2,距离X 点i,点j,距离xx .....,python,c++,numpy,swig,boost-python,Python,C++,Numpy,Swig,Boost Python,然后,我将文件输入Python,并使用Python(NumPy)进行集群。使用Python读取输出文件需要花费很长时间。有没有办法将C++程序直接与我的Python代码连接,以节省中间文件上I/O的时间?可能是使用SWIG?我想您一直在保存ascii。您可以修改C++代码来编写二进制文件,然后用./p>读取二进制代码。 < >对于更直接的连接,你可以使用SWIG将C++代码打包为库(删除主程序)并从Python中驱动它。这允许您在C++和Python之间共享数组的内存。p> 可以将C++中的Py

然后,我将文件输入Python,并使用Python(NumPy)进行集群。使用Python读取输出文件需要花费很长时间。有没有办法将C++程序直接与我的Python代码连接,以节省中间文件上I/O的时间?可能是使用SWIG?

我想您一直在保存ascii。您可以修改C++代码来编写二进制文件,然后用./p>读取二进制代码。 < >对于更直接的连接,你可以使用SWIG将C++代码打包为库(删除主程序)并从Python中驱动它。这允许您在C++和Python之间共享数组的内存。p>
可以将C++中的Python和Python端一起使用。或者可以直接使用C++中的NUMPY数组。下面是一个使用第二种方法的小例子。(免责声明:是我写的。)

您可以使用管道:en.wikipedia.org/wiki/pipeline(Unix)