我目前在一个地方实习,他们让我做一个独立的python程序来做一些事情(比如X)。
现在,这个程序将由他们的专有软件发送的一些命令来运行,这些命令是用他们的专有语言编写的。我之所以这么多次说专有是因为他们还没准备好让我接近他们的代码。我只需要编写一个Python代码,根据他们的软件给出的输入来做X。
所以有一种方法,我可以使一个API和包装它周围我的代码,以便让软件控制它?我还需要使整个事情独立(也许是某种类型的安装程序),这样他们就不必安装Python和附带的模块(如opencv)只是为了运行我的脚本?
我所能得到的就是"有一些dll文件将调用你的应用程序,我们需要一个可执行文件"
任何程序都可以执行任何其他程序(如果它具有适当的权限),因此在"python文件"one_answers"python可执行文件"之间没有真正的区别(这是因为python是一种解释语言)。python源文件和"最终python程序"是"相同的"(假设是cpython),与之相反的是,例如,C程序的源文件和可执行文件截然不同)。
如果你是在windows上,有一个额外的问题,用户必须安装python来执行。py文件。有一些方法可以缓解这个问题——有一些python库可以"冻结"python解释器和你的代码到一个单一的。exe文件中(来自Bakuriu的评论见例如freeze)。您可以将python解释器与代码捆绑在一起。您可以直接要求用户安装python(如果用户数量较少,这可能是一种好方法)。
"API"只是"这是你与我的程序通信的方式"的一种奇特的说法。这可能是您调用库的方式(例如python模块导出的函数),也可能是HTTP API,或者传递哪些命令行参数,或者在TCP套接字上使用哪个协议。如果不知道你应该实现哪个API,你就无法完成你的工作。
如果不知道进一步的规范(其他程序给你的程序提供了什么输入,它如何调用你的程序?),很难说出任何更有用的东西。