python如何调用编译后的可执行文件

本人计算机萌新一枚,从今天开始写点平时遇到的问题,可能只是一个解决办法或者一些小小的感悟。或许研究得没那么深入,但也希望能够分享一些自己的经验。可能格式或者某些说法有些错误,望指正,谢谢。

前情提要

在工作的时候,对方发了一个写好并且编译好的包,linux版本下lib文件夹里全是.a文件(静态链接库),bin文件夹是编译好的可执行文件,但是我重构代码时使用的python,并不知道如何通过该文件调用对方给的接口。因为对方给的不是.so文件(动态链接库),不然我就能够通过os库直接进行调用了。

解决方式

我是通过python调用shell脚本运行可执行文件的接口实现对方给的功能。简单讲就是,写了个shell脚本运行可执行文件,并传入参数,实现功能。之后再通过python调用脚本来实现这个功能。


详细过程

-可执行文件接口
-shell脚本
-python调用shell脚本

可执行文件接口

使用实例

./文件名      './输入文件名.jpg'     './输出文件名.jp
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python可以通过subprocess模块来调用其他语言编写的可执行程序,包括C#、Matlab和C++等语言编写的可执行文件。下面分别介绍一下调用这些语言编写的可执行程序的方法。 调用C#可执行程序 可以使用mono命令来运行C#可执行程序。需要在Python中使用subprocess模块调用该命令。具体操作如下: ```python import subprocess # 调用C#可执行程序 process = subprocess.Popen(['mono', 'your_csharp_executable_file.exe'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) output, error = process.communicate() # 输出执行结果 print(output.decode()) print(error.decode()) ``` 调用Matlab可执行程序 可以使用matlab命令来运行Matlab可执行程序。需要在Python中使用subprocess模块调用该命令。具体操作如下: ```python import subprocess # 调用Matlab可执行程序 process = subprocess.Popen(['matlab', '-r', 'your_matlab_executable_file'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) output, error = process.communicate() # 输出执行结果 print(output.decode()) print(error.decode()) ``` 调用C++可执行程序 可以直接使用C++编译出来的可执行程序来运行。需要在Python中使用subprocess模块调用该程序。具体操作如下: ```python import subprocess # 调用C++可执行程序 process = subprocess.Popen(['your_cpp_executable_file'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) output, error = process.communicate() # 输出执行结果 print(output.decode()) print(error.decode()) ``` 以上是调用C#、Matlab和C++可执行程序的基本方法,根据实际情况可以做一些调整。另外,需要注意的是,调用的可执行程序需要在系统中正确安装并配置好环境变量。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值