从Python程序中执行C++程序

2024-04-25 03:45:21 发布

您现在位置:Python中文网/ 问答频道 /正文

这是一个场景,我必须在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++)

现在我不想一次又一次地读取distance文件,因为它已经花费了大约17秒,而且文件有超过5亿个条目。类似于暂停执行C++代码并在需要时再次运行代码。那么,这是如何实现的??你知道吗


Tags: 文件数据run代码textfrom算法距离
1条回答
网友
1楼 · 发布于 2024-04-25 03:45:21

只是一个想法:

你能在你的python主程序中运行你的程序的c++部分吗。你可以看看这个[Calling an external command in Python中的答案。您可以使用适配器设计模式来预处理c++程序中的输出,以便它与主python程序中使用的数据结构兼容,反之亦然。你知道吗

相关问题 更多 >