如何从Python运行可执行文件?

2024-04-28 13:49:05 发布

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

我有一个可执行文件(人脸识别),它是由一个已经不在我们身边的程序员编写的。它接受命令行参数并将结果打印到STDOUT,如下所示。在

我需要能够在Python中使用它,但是性能很重要,所以我不确定是否应该只使用subprocess。我需要捕获程序的输出,所以修改代码以使它成为C++库,并用Python编写它的包装器是更好的主意吗?与使用子流程相比,这将如何影响性能?在

{2}我找到了一个不同的答案{a3}和运行在^ C中的Python的答案是不同的。第二种方法甚至不使用Python.h,所以我有点困惑。当绩效很重要时,我需要什么最好的方法?在


Tags: 方法答案代码程序可执行文件参数stdout流程
1条回答
网友
1楼 · 发布于 2024-04-28 13:49:05

首先,我必须告诉您,我认为子进程方法和运行外部应用程序并从STD输出读取输出将是缓慢和不可靠的。我不推荐这种方法。在

相反,这里有一些建议:

    > p>可以在C或C++中创建Python扩展,可以在网上找到很多资源。因此,您可以将当前代码转换为Python扩展格式,只需使用Python扩展框架模板,在其中集成函数和代码,就可以得到Python扩展,只需从Python代码调用它的函数。请参见:http://docs.python.org/2/extending/index.html

  • 将当前C++代码直接转换为DLL,并在Windows中导出要从Python调用的代码的函数,或者仅在使用Linux时将其转换为共享库。它将被编译成。所以。然后,可以在Python代码中将函数作为外部库调用。示例及说明:http://www.linuxforu.com/2010/05/extending-python-via-shared-libraries/

我从未尝试过,但这些项目似乎可以帮助您实现您想要的:

相关问题 更多 >