从python程序执行C ++程序

时间:2014-04-19 12:47:27

标签: python c++ ipc

这是场景,我必须在10000个数据点上运行聚类算法。我已经预先计算了数据点之间的距离并将它们存储在一个文件中。由于Python在I / O密集型任务中速度很慢,我正在用C ++编写这种聚类算法。主要问题是聚类算法将运行几次,我必须在python代码和C ++代码之间切换。像这样的东西

Read Distances from text_file (C++)
Run Clustering Algorithm (C++)

Use the result of this algorithm in main python code

Run clustering algorithm again (C++)

现在我不想一次又一次地读取距离文件,因为它已经花了大约17秒并且文件有超过5亿条目。类似于暂停执行C ++代码并在需要时再次运行代码的东西。那么,怎么能实现呢?

1 个答案:

答案 0 :(得分:1)

只是一个想法:

你可以在你的主python程序中运行你的程序的c ++部分吗?你可以通过查看[Calling an external command in Python中的答案来做到这一点。您可以使用适配器设计模式对c ++程序中的输出进行预处理,使其与主python程序中使用的数据结构兼容,反之亦然。